任意文件读取漏洞

漏洞产生原因:

1.有读取文件的函数;

2.读取文件的路径用户可控;

3.输出文件内容;

4.存在下载文件的功能;

漏洞危害:

1.读取敏感文件,如/etc/passwd;

2.读取服务器和系统配置信息;

3.下载数据库配置信息;

谷歌语法:
inurl:“readfile.php?file=”
inurl:“download.php?file=”
inurl:“read.php?filename=”
inurl:“down.php?file=”

常见绕过方式:

1.双URL编码

点%u002
斜线%u2215
反斜线%u2216

2.16位Unioncode编码

点%u002
斜线%u2215
反斜线%u2216

3.超长utf-8 Unioncode编码

点%c0%2e、%e0%40%ae、%c0ae等
斜线%c0%af、%e%80af、%c0%2f等
反斜线%c0%5c、%c0%80%5c等

4.用一个序列替换另一个序列

…//
…V
…/
…\

修复方案:

1.过滤 ../ 等危险字符

2.文件下载时,判断输入路径

3.php.ini配置open_basedir限定文件访问范围

你可能感兴趣的:(web渗透测试,php,安全性测试,web安全)