转载于https://mp.weixin.qq.com/s/hDcGRTZxUh7W7KAc7yeGJA
0x01 任意文件读取漏洞是怎么产生的
一些网站由于业务需求,可能提供文件查看或下载功能。如果对用户查看或下载的文件不做限制,则恶意用户能够查看或下载任意文件,可以是源代码文件、敏感文件等。
0x02 任意文件读取下载漏洞的危害
1、下载服务器任意文件,如脚本代码、服务及系统配置文件等;
2、可用得到的代码进一步代码审计,得到更多可利用漏洞。
0x03 任意文件读取下载漏洞常见出现点
1、存在读取文件的功能点
2、存在下载文件的功能点
3、提供文件查看或下载功能点
0x04 任意文件读取常用敏感文件路径
Windows:
C:oot.ini (查看系统版本)
C:WindowsSystem32inetsrvMetaBase.xml (iis配置文件)
C:Windows
epairsam (存储系统初次安装的密码)
C:Program Filesmysqlmy.ini (Mysql配置)
C:Program Filesmysqldatamysqluser.MYD (Mysql root)
C:Windowsphp.ini (php配置信息)
C:Windowsmy.ini (Mysql配置信息)
……
Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_rsa.keystore
/root/.ssh/known_hosts
/etc/passwd (主机账号文件)
/etc/shadow (主机密码文件)
/etc/my.cnf (Mysql配置文件)
/etc/httpd/conf/httpd.conf (apache配置文件)
/root/.bash_history (root操作命令历史记录)
/root/.mysql_history (mysql命令历史记录)
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts
/proc/config.gz
……
0x05 任意文件读取常见参数名
&RealPath=
&FilePath=
&file=
&filename=
&Path=
&path=
&inputFile=
&url=
&urls=
&Lang=
&dis=
&data=
&readfile=
&filep=
&src=
&menu=
&META-INF=
&WEB-INF=
……
0x06 任意文件读取下载漏洞利用案例
点击下载图片,发现文件内容回显,请求如下:
替换读取文件,使用../来跳跃目录读取Passwd敏感文件:
0x07修复方案:
1、过滤.(点),使用户在url中不能回溯上级目录
2、正则严格判断用户输入参数的格式
3、php.ini配置open_basedir限定文件访问范围