任意文件下载与目录穿越
任意文件下载
如果网站对用户的查看或下载的文件不做限制,则恶意用户就能查看或下载任意敏感文件,这就是文件查看与下载漏洞,属于owasp top10的失效访问控制类型。
实例
任意文件下载
站点:pikachu
下载地址为相对地址
请求地址:http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=kb.png
我们可以直接访问对应的url来下载数据,其中可以更改filename来下载不同的文件
目录穿越
在pikachu文件夹下新建一个1.txt的文件
访问url:http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=../../../1.txt
../就是访问上一层目录
产生原理
对用户输入的数据没有过滤,没有限定只能在当前路径下下载
敏感文件:/etc/passwd /etc/shadow /etc/nginx/nginx.conf
利用方式
1 | 一般链接形式: |
利用思路
1,下载常规的配置文件,例如ssh,weblogic,ftp,mysql等相关配置
2,下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方
3,下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器
4,常见利用文件
1 | /root/.ssh/authorized_keys //ssh免密登陆 |
漏洞修复
- 过滤“.”,使用户不能跨目录访问
- 正则严格判断用户输入参数的格式
- php.ini配置open_basedir限定文件访问范围