文件包含
概述
有些时候文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。
分类
- 本地文件包含
- 远程文件包含
涉及函数
- require()
2.require_once()
3.include()
4.include_once()
危害
这样的攻击手段可以读取服务器敏感文件,也可以调用执行脚本,对网页进行恶意破坏。这样的攻击方式更为隐蔽。
防御措施
1.设置白名单,对传入的参数进行过滤
2.过滤危险字符
3.通过php.ini配置文件目录
4.在php.ini中关闭危险配置
靶场实操
第一关

下拉框选明星?找到科比,提交,抓包

数据包中出现了filename=,尝试在此处下手

我之前有在根目录里放入了一个txt文件作为测试,所以可以用…/逐级向上查找。最后在返回了四级目录后访问到了该文件


第二关

和第一关一样
选科比,抓包

将filename后的内容替换为远程服务器上文件的路径,还以hell.txt为例

搞定
本文介绍了文件包含漏洞的基本概念,包括本地文件包含和远程文件包含两种类型,并列举了PHP中涉及的相关函数。此外,还探讨了文件包含漏洞的危害及有效的防御措施。
1180

被折叠的 条评论
为什么被折叠?



