Unsafe Filedownload(不安全的文件下载)

Unsafe Filedownload(不安全的文件下载)

文件下载的功能在很多web 系统上都会出现。当我们点击下载链接,就会向后台发送一个请求,一般这个请求会包含下载文件的名称,后台收到请求会开始执行下载代码,将该文件名对应的文件response 给浏览器,从而完成下载。

后台在收到请求的文件名时,将其直接拼接到下载文件的路径中而不对其进行安全判断的话,就会引发不安全的文件下载漏洞。

攻击者可以构造一个路径(如:…/…/…/etc/passwd),浏览器可能会直接将指定的文件下载下来,就会导致后台的敏感信息(密码文件、源代码等)被下载。
(注:目录遍历的符号“…/”这里是两个点,只是在这个网页上显示成了三个点)

修复

过滤掉所有的…/
设置白名单。

下面通过 pikachu 的 Unsafe Filedownload 模块测试不安全的文件下载。

pikachu Unsafe Filedownload

打开界面,可以看到可以下载球员的头像图片。
在这里插入图片描述
点击名字,尝试下载,用 burp 抓包看看。
可以看到,我们要下载的文件直接拼接在了 filename 变量后面。
在这里插入图片描述

接下来尝试修改 filename 后面的参数。
通过…/目录遍历构造,下载目标文件,这个文件是 unsafe filedownload根目录下的源文件。
在这里插入图片描述

…/down_nba.php
在这里插入图片描述
关于用多少个”…/“的方法感觉还没弄明白,只能通过一些尝试去了解一部分。
遍历上面这个目录只能用1个”…/“,其他数量都行不通。
包括和dowm_nba.php 在同一个文件夹里的其他两个文件 execdownload.php 、unsafedownload.php 也是只用一个”…/“。

再尝试上一级文件夹中的一个文件,发现用2个”…/“是可以遍历下载的。
在这里插入图片描述
得出结果往前一级的文件就多加一个”…/“就可以成功下载。
但是还有是存在问题,就是不知道上一级中的其它文件夹中的文件如何遍历。(比如上面图片中的 sqli 文件中的文件似乎无法遍历)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goodric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值