首页 > 其他分享 >不安全的文件下载(Pikachu)

不安全的文件下载(Pikachu)

时间:2024-05-12 14:22:41浏览次数:19  
标签:文件 请求 .. Pikachu 安全 后台 下载

概述

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

所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!

pikachu

直接点击链接下载,发现url没变化,抓包看看

image-20240507102451142

发现参数filename

看看源码

img

从第10行可以看出来,传入的参数前面是拼接了download目录的,因此不能使用绝对路径

剩余可参考文件包含

标签:文件,请求,..,Pikachu,安全,后台,下载
From: https://www.cnblogs.com/Mchacha/p/18187779

相关文章

  • 不安全的文件上传(Pikachu)
    概述文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。如果说后台对上传的文件没有进行任何......
  • 目录遍历(Pikachu)
    原理Web安全-目录遍历漏洞_百度搜索文件遍历漏洞-CSDN博客防御1.对用户的输入进行验证,特别是路径替代字符如“../”和“~/”。2.尽可能采用白名单的形式,验证所有的输入。3.合理配置Web服务器的目录权限。4.当程序出错时,不要显示内部相关配置细节。5.对用户传过来的文件名......
  • 敏感信息泄露(Pikachu)
    原理由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到。比如:通过访问url下的目录,可以直接列出目录下的文件列表;输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息;前端的源码(html,css,js)里面包含了敏感信息,比......
  • 文件包含(Pikachu)
    原理文件包含漏洞是一种常见的web类型漏洞,因为很多脚本语言支持使用文件包含,也就是我们所说的文件包含函数,网站开发者经常会把一些代码插入到指定的地方,从而节省之间避免再次编写,这就是包含函数的基础解释,但是我们不光可以包含我们预先指定的文件,也可以包含我们服务器内部......
  • 越权漏洞(Pikachu)
    原理该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就易致......
  • PHP反序列化(Pikachu)
    原理php程序为了保存和转储对象,提供了序列化的方法。php序列化是为了在程序运行的过程中对对象进行转储而产生的。序列化可以将对象转换成字符串,但仅保留对象里的成员变量,不保留函数方法。php序列化的函数为serialize,可以将对象中的成员变量转换成字符串。反序列化的函数为unse......
  • XXE漏洞(Pikachu)
    原理要补好多知识~XXE漏洞全称XMLExternalEntityInjection即XML外部实体注入。XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。XXE漏洞触发的点往......
  • 使用TypeScript编写一个函数getPackageSize,该函数接收一个配置对象packageOpt作为参数
    使用TypeScript编写一个函数getPackageSize,该函数接收一个配置对象packageOpt作为参数,用于获取指定文件夹中所有文件的总大小,并根据配置决定是否返回已转换单位的大小值或直接通过回调函数返回字节大小。下面是一个基于Node.js环境的实现示例,因为直接在浏览器环境中操作文件系统......
  • RCE(Pikachu)
    作用可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。原理远程系统命令执行一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上一般会给用户提供一个......
  • R使用矢量文件裁剪栅格数据
    #########################################################使用矢量文件裁剪栅格数据raster_data#待裁剪的栅格数据shapefile_data#读入的shapefile文件#检查栅格数据和shapefile数据的投影是否一致projection(raster_data)projection(shapefile_data)#如果投影不一致,则......