文件下载
第一部分、产生
任意语言代码下载功能函数
第二部分、检测
1.白盒:
代码审计
2.黑盒:
漏扫工具
公开漏洞
手工看参数值和功能点:找到类如:?前后自由组合
read.xxx?readpath=
down.xxx?filepath=
readfile?path=
downfile?filenmae= 等
dowload.php?data=
常用文件:
WINDOWS
3.有下载功能的地方文件下载漏洞怎么判断存在?
⚫ 下载 /index.php分析
⚫ 文件被解析→文件包含
⚫ 提示源代码→文件读取
⚫ 提示文件下载→文件下载
第三部分、利用
常见文件:后台首页日志等可见文件
敏感文件:数据库配置文件、各种接口文件、密钥信息等文件
1.扫描工具爬行或扫描地址(御剑、dirsearch、webpath)
2.下载好的文件代码中去分析路径和包含文件获取
3.对于javaweb后端,查看WEB-INF/web.xml
第四部分、修复
第五部分、实例
1.pikachu 文件下载漏洞
http://localhost:9090/pikachu/vul/unsafedownload/execdownload.php?filename=kb.png
http://localhost:9090/pikachu/vul/unsafedownload/download/kb.png
想要下载并且访问execdownload.php,发现execdownload.php是存储在unsafedown文件夹下的,所以
http://localhost:9090/pikachu/vul/unsafedownload/execdownload.php?filename=../execdownload.php
同理,可以下载并且访问index.php
http://localhost:9090/pikachu/vul/unsafedownload/execdownload.php?filename=../../../index.php