我所拥有的论坛的主持人这样做了。我仍然无法相信它,我无法理解他是如何做到的。有人可以解释一下吗? 他说他只使用HTTP GET请求
主持人说服务器(nginx)通常会发送执行的php文件的输出,但由于这些文件是777向URL添加一些参数,他可以获得未解析的版本。
由于
答案 0 :(得分:3)
如果网站上有一个写得不好的下载脚本,那么就像重写url来下载任何文件(包括PHP源文件)一样简单。这可能正是他所做的,所以你最好检查你使用的论坛软件(和安装的第三方模块)是否包含任何已知的漏洞。
答案 1 :(得分:0)
正确配置的服务器只会执行.php文件,而不会显示其来源。但是配置错误的服务器可以通过指向原始文件的.phps符号链接来提供PHP源代码。
除此之外,查询参数不能告诉PHP提供源,除非有问题的源有后门,如:
if (isset($_REQUEST['gimme_the_codez'])) {
readfile($_SERVER['SCRIPT_FILENAME']);
exit();
}
当然,由于文件的模式为777,如果你可以进入它所在的目录,你可以直接获取文件,或者在后门中轻轻拍打。