不安全的文件下载概述
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!

切换到对应模块,可以看到96黄金一代

比如点击kobe的图片,就会有下载的提示框

我们将这个链接用新窗口打开,可以看到文件名和传参就在url中,

这时非常危险的,也导致我们可以利用它

流程是:传参给后台,后台响应本次请求,并且在后台找到这个文件,

找到文件后浏览器响应输出到前端,浏览器就可以下载这个文件。

一般寻找不安全的文件下载漏洞时使用的是目录遍历方法,比如利用../../../../etc/passwd

我用的是windows 比如我的WWW目录下有cookie.txt文件,也可直接下载

payload:?filename=../../../../cookie.txt

这里依然是需要限制能下载的文件范围,设置一个白名单。

最新文章

  1. UIApplication和OpenUrl的基于使用方法
  2. 读书笔记--SQL必知必会15--插入数据
  3. 【WCF】基于WCF的在线升级
  4. css之display:inline-block
  5. JAVA的包装类 【转】
  6. Linux 内存管理之highmem简介
  7. EXT 获取gird各值
  8. GNU C 与 ANSI C(下)
  9. 【分布式搜索引擎】Elasticsearch如何部署以及优化查询性能
  10. Python 通过队列实现一个生产者消费者模型
  11. 如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式
  12. 嵌入式开发之uart---rs232 和rs485 通用自定义通信协议
  13. arcgis中加载google在线地图
  14. Linux中CentOS6.5 64位 系统下安装docker步骤
  15. linux下的pd
  16. 【洛谷】【二分答案+贪心】P1316 丢瓶盖
  17. EM算法(Expectation Maximization Algorithm)
  18. LogHelp 日记分天记录,只记30天日记
  19. MySql数据库表类型MYISAM与InnoDB的区别
  20. NET代码运行在服务器JS运行在客户端

热门文章

  1. [心得笔记]spring常用的三种依赖注入方式
  2. 【Quartz】Quartz存储与持久化-基于quartz.properties的配置
  3. Ionic命令笔记
  4. FreeRTOS消息队列
  5. Java | 日期类型的绍介和操作
  6. python08篇 发邮件和异常处理
  7. [004] - JavaSE面试题(四):JavaSE语法(2)
  8. 【学习笔记】Github的使用
  9. 微信小程序云开发-数据库-商品列表数据跳过N条数据
  10. JAVA-Scaneer对象