(漏洞检查项)|任意文件包含漏洞 file-include
漏洞场景
1.含有动态包含语句
2.有类似于文件读取的url
漏洞描述
攻击者可以利用任意文件包含漏洞,读取任意文件,对服务器造成危害。
程序开发人员为了代码的灵活性,常常会将包含文件的路径设为变量,来进行动态调用,所以被包含文件的路径客户端会被黑客攻击利用。
文件包含漏洞在PHP的Web应用中居多,在其他脚本程序中较少。
漏洞原理
使用文件包含功能时,有动态包含语句,会产生文件包含漏洞的风险。如果实现动态包含的参数,Web应用没有进行严格的校验,攻击者可以利用被包含文件的路径,进行攻击。
漏洞危害
攻击者利用文件包含漏洞,可以:
- 读取文件
- 执行脚本文件进行攻击
漏洞评级
高危
漏洞验证
漏洞检查语句(!192.168.109.100是我的服务器ip,需要换成自己的):
http://192.168.109.100/MetInfo5.0.4/about/index.php?module=c:/windows/system32/drivers/etc/hosts&fmodule=7
漏洞利用
略
漏洞防御
-
尽量少的使用动态包含
-
严格过滤文件路径
-
使用php.ini里的open_baserdir参数来限定文件访问范围
-
将参数allow_url_include设置为OFF
典型案例
metinfo_5.0.4 文件包含漏洞