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

     一、不安全的文件下载

    1.概述

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

       切记:所有与前端交互的数据都是不安全的,不能掉以轻心!
      你可以通过“Unsafe file download”对应的测试栏目,来进一步的了解该漏洞。

    2.实验演示

     

    我们随意点击一个名字,发现可以直接下载,也就是说我们所点击的文件名称会传递到后台,后台执行下载请求代码将结果回应给浏览器,从而达到下载目的。

    当我们预览图片时,可以发现文件名称

     那我们便可以通过更改filename来获取其他图片

     查看源码:发现在filename上未作任何安全处理

  • 相关阅读:
    SPU和SKU有什么区别
    Mave手动安装jar包
    maven国内镜像(国内oschina的maven服务器关了)
    用java代码将从数据库中取出的具有父子关系的数据转成json格式
    Oracle中的decode()函数
    Oracle中的instr()函数
    Oracle的nvl
    Oracle保留小数点后两位的几种方法
    【Python】djangorestframework 基于django框架的接口开发
    【MySQL】 GTID使用
  • 原文地址:https://www.cnblogs.com/amberhome-wei/p/12627664.html
Copyright © 2011-2022 走看看