0

我拥有的一个论坛的版主这样做了。我仍然无法相信它,我无法理解他是如何做到的。有人可以解释一下吗?他说他只使用 HTTP GET 请求

版主说服务器(nginx)通常会发送执行的php文件的输出,但是由于文件是777,因此在URL中添加了一些参数,他可以获得未解析的版本。

谢谢

4

2 回答 2

3

如果网站上有一个写得不好的下载脚本,那么它就像重写 url 以下载任何文件(包括 PHP 源文件)一样简单。这可能正是他所做的,因此您最好检查您使用的论坛软件(以及安装的第 3 方模块)是否包含任何已知漏洞。

于 2010-04-15T07:15:22.707 回答
0

正确配置的服务器只会执行 .php 文件,不会显示其来源。但是配置不当的服务器可以通过指向原始文件的 .phps 符号链接来提供 PHP 源代码。

除此之外,查询参数不能告诉 PHP 提供源,除非相关源中有后门,例如:

if (isset($_REQUEST['gimme_the_codez'])) {
    readfile($_SERVER['SCRIPT_FILENAME']);
    exit();
}

当然,由于文件的模式是777,如果你能进入它所在的目录,你可以直接拿到文件,或者随便打后门。

于 2010-04-15T14:05:00.797 回答