一、任意文件下载漏洞的成因
一些网站的业务需求,提供的有文件下载的功能,这个时候考虑到代码的灵活性开发者会单独写一个实现文件下载功能的文件,只需要传入一个文件名如果服务器存在该文件就可以下载。但是如果没有对传入的这个文件名做限制,用户可以控制这个文件名,那么就有可能会下载站点上的源码文件,配置文件等等,这个时候就形成了任意文件下载漏洞。
二、文件下载的两种方式
1、通过文件名直接下载
<a href=“xxxx.rar”>下载</a>
2、通过文件名变量下载文件
三、任意文件下载漏洞防御
禁止用文件名的方式访问网站目录的文件。
php.ini中配置open_basedir访问的文件名必须限制在规定的目录内,禁止越权使用别的目录
四、任意文件下载漏洞的危害
可以下载服务器任意的文件,如脚本代码,服务以及系统配置文件等等。可以下载网站源代码进行白盒审计,发现其它web漏洞,如SQL注入,文件包含,XSS等等。
案例分析
之后遇到的话可以在这里总结一下。