pikachu网站文件包含漏洞
本地文件包含
在PHPstudy配置文件中,将allow_url_include 的状态打开:Off修改为On(本地主机可不修改allow_url_include)
打开本地文件包含模块
把file1.php改成1.php,报错出路径
构造url(相对路径):加这么多…\是为了保证到达服务器的E盘根目录,可以看到读取是成
功的,没有报错,即上传成功
http://localhost/pikachu/vul/fileinclude/fi_local.php?filename=../../../../1.txt&submit=提交查询
此时我们在E:\phpStudy\PHPTutorial\WWW\pikachu\vul\fileinclude可以查看到a.php
此时我们可以通过输入http://localhost/pikachu/vul/fileinclude/a.php并使用hackbar可以得到php版本信息
远程文件包含
如果 php.ini 的配置选项 allow_url_include 和 allow_url_fopen 都为 ON 的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞。利用远程文件包含漏洞,可以直接执行任意命令
总结
文件包含分为两种:
本地文件包含:包含本地主机上的文件(WEB服务器),文件名称是相对路径或者绝对路径
远程文件包含:包含互联网上的文件,文件名称为URL格式
而区分二者最简单的办法就是通过查看php.ini中是否开启了allow_ url_ include. 如果开启就有可能包含远程文件
编写人:Kevin
2023.8.25