pikachu Unsafe Filedownload 不安全的文件下载
2024-10-19 11:57:58
不安全的文件下载概述
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!
切换到对应模块,可以看到96黄金一代
比如点击kobe的图片,就会有下载的提示框
我们将这个链接用新窗口打开,可以看到文件名和传参就在url中,
这时非常危险的,也导致我们可以利用它
流程是:传参给后台,后台响应本次请求,并且在后台找到这个文件,
找到文件后浏览器响应输出到前端,浏览器就可以下载这个文件。
一般寻找不安全的文件下载漏洞时使用的是目录遍历方法,比如利用../../../../etc/passwd
我用的是windows 比如我的WWW目录下有cookie.txt文件,也可直接下载
payload:?filename=../../../../cookie.txt
这里依然是需要限制能下载的文件范围,设置一个白名单。
最新文章
- UIApplication和OpenUrl的基于使用方法
- 读书笔记--SQL必知必会15--插入数据
- 【WCF】基于WCF的在线升级
- css之display:inline-block
- JAVA的包装类 【转】
- Linux 内存管理之highmem简介
- EXT 获取gird各值
- GNU C 与 ANSI C(下)
- 【分布式搜索引擎】Elasticsearch如何部署以及优化查询性能
- Python 通过队列实现一个生产者消费者模型
- 如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式
- 嵌入式开发之uart---rs232 和rs485 通用自定义通信协议
- arcgis中加载google在线地图
- Linux中CentOS6.5 64位 系统下安装docker步骤
- linux下的pd
- 【洛谷】【二分答案+贪心】P1316 丢瓶盖
- EM算法(Expectation Maximization Algorithm)
- LogHelp 日记分天记录,只记30天日记
- MySql数据库表类型MYISAM与InnoDB的区别
- NET代码运行在服务器JS运行在客户端