web安全之任意文件下载
任意文件下载
1.1 任意文件读取下载漏洞简介
一些网站由于业务需求,可能提供文件查看或下载功能。如果对用户查看或下载的文件不做限制,则恶意用户能够查看或下载任意文件,可以是源代码文件、敏感文件等。
1.2 任意文件读取下载漏洞危害
攻击者可以读取下载服务器中的配置文件、敏感文件等,会提供攻击者更多可用信息,提高被入侵的风险。
1.3 任意文件读取下载漏洞利用条件
- 存在读文件的函数
- 读取文件的路径用户可控且未校验或校验不严
- 输出了文件内容
- 任意文件读取下载漏洞测试
使用类似如下的代码进行下载,任意路径下的文件
readfile.php?file=/etc/passwd
readfile.php?file=../../../../../../../../etc/passwd
readfile.php?file=../../../../../../../../etc/passwd%00
2.1测试思路
寻找读取或下载文件的功能点,跳跃目录获取敏感文件
有的限制目录不严格,只对部分目录限制,可以尝试用其他敏感文件路径,常见敏感文件路径如下:Windows: C:\boot.ini //查看系统版本 C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件 C:\Windows\repair\sam //存储系统初次安装的密码 C:\Program Files\mysql\my.ini //Mysql配置 C:\Program Files\mysql\data\mysql\user.MYD //Mysql root C:\Windows\php.ini //php配置信息 C:\Windows\my.ini //Mysql配置信息 ... Linux: /root/.ssh/authorized_keys /root/.ssh/id_rsa /root/.ssh/id_ras.keystore /root/.ssh/known_hosts /etc/passwd /etc/shadow /etc/my.cnf /etc/httpd/conf/httpd.conf /root/.bash_history /root/.mysql_history /proc/self/fd/fd[0-9]*(文件标识符) /proc/mounts /porc/config.gz
解决方案:
- 1、对./、../、、..%进行过滤
- 2、严格控制可读取或下载的文件路径
- 3.过滤.(点),使用户在url中不能回溯上级目录
- 4.正则严格判断用户输入参数的格式
- 5.php.ini配置open_basedir限定文件访问范围
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/16523165.html

浙公网安备 33010602011771号