目录
本地文件包含漏洞
1.提交查询,发现搜索栏filename=file1.php,我们点击其他内容,发现file1.php~file5.php都能查询
2.在bp中抓包爆破一下,看除了file1.php~file5.php,其他的file.php文件是不是也能执行,发现file6.php的length与其他不同,试一下可以执行。
file6.php查询成功
3.进入网站根目录查询,发现filename文件都是后台存在的文件
4.那此处是否存在文件包含漏洞呢,我们是否可以查询其他文件夹下的文件呢,在C盘新建文件夹abc存放111.txt文件
5.在本地文件包含查看111.txt,但是发现使用绝对目录查询失败
6.使用相对路径成功查询
7.进入白盒测试,查看源码,发现需要返回根目录才能查看文件
8.不能查询http或https网站内容
远程文件包含漏洞
1.可以查询文件file1.php~file6.php
2.可以使用绝对路径查询文件
3.可以使用相对路径查询文件
4.可以查询https网站
5.可以查询http网站
6.进入白盒测试,查看源码,远程文件包含没有做任何的安全过滤措施,可以进行任何文件的查询
代码审计:这段代码是一个条件语句,用于检查是否存在名为 submit 的 GET 参数,并且 filename 参数不为 null。如果两个条件都满足,则将 GET 参数中的 filename 赋值给变量 $filename,并使用 include 函数包含该文件。
总结
防止文件包含漏洞最好的方式就是设置白名单,指定包含的文件名!!!