不安全的文件下载原理和案例演示
一、文件下载漏洞概述(摘录)
很多网站都会提供文件下载功能,即用户可以通过点击下载链接,下载到链接所对应的文件。
但是,如果文件下载功能设计不当,则可能导致攻击者可以通过构造文件路径,从而获取到后台服务器上的其他的敏感文件。(又称:任意文件下载)
二、案例演示
在pikachu平台 Unsafe Filedownload模块进行实验操作:1.点击图片名进行下载,查看点击图片进行下载时的请求为:127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=ai.png
可见其将ai.png这样一个filename传至后台,后台将文件读取反馈到前端使其可以下载。
2.通过…/…/的形式对此处的文件下载漏洞进行测试
将ai.png改为…/…/…/…/…/…/…/etc/passwd提交即可下载目标文件
后台读取不够严格导致了不安全的文件下载漏洞的产生,查看后台代码
点击图片时,实际上就是传了一个 a 标签,通过 a 标签传了一个参数,参数的名称是 filename,对应的值就是 filename图片的名字传给了后台,