zoukankan      html  css  js  c++  java
  • pikachu Unsafe Filedownload 不安全的文件下载

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


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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    XML与JSON的区别?各自有哪些优缺点?
    js数组操作(增、删、改、查)
    Ajax缓存原理
    Ajax的跨域问题分析
    简单理解javascript的闭包
    CSS的导入方式:link与import方式的区别
    谈谈iframe的优缺点
    winform全局异常捕获
    Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
    解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/12613557.html
Copyright © 2011-2022 走看看