WEB漏洞攻防 - 文件上传漏洞 - 白名单的绕过处理方法

本文探讨了如何通过修改MIME文件类型和利用%00截断技巧来绕过上传限制的白名单机制,特别提到了upload-labs-Pass-02和upload-labs-Pass-12案例,以及这些方法的适用条件和版本依赖。
摘要由CSDN通过智能技术生成

白名单的绕过处理方法

采用后缀名的绕过方法 如MIME修改、%00截断、0x00截断

白名单绕过 upload-labs-Pass-02 [修改MIME文件类型]

MIME检测并不是检测后缀名,是检测文件类型,虽然不检测后缀名,但是属于白名单机制。

先分析一下 upload-labs-Pass-02 的源码


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


白名单绕过 upload-labs-Pass-12 [%00截断]

这里有个点要说一下, upload-labs-Pass-12 与 upload-labs-Pass-11 同样都可以使用 %00 截断的方式绕过,区别在于 upload-labs-Pass-11 是通过 $_GET 获取图片存储路径,而 upload-labs-Pass-12 是通过 $_POST 方式获取图片存储路径的。

利用 $_POST 获取图片存储路径时使用的 %00 截断是无法正常解析的需要重新进行URL编码。

[这里有个大坑]

在upload后面加上12.php+(添加+是为了方便改hex值)


在这里插入图片描述


通过 burpsuite 修改 hex 值为 00 进行截断。

把 2b(’+'的 hex) 修改成 00


在这里插入图片描述


或者直接在upload后面加上12.php%00,然后选中%00实施URL-decode


在这里插入图片描述


在这里插入图片描述


关于这里的坑需要说一下, %00 截断这个方法仅适用于小于 PHP 5.2.4 的版本,且 php.ini 中 magic_quotes_gpc=off 的状态下才适用。而我从docker上下载的镜像文件的版本是 5.2.17 版本的还是安装在Ubantu系统下,所以11关与12关无法利用 %00 突破。如果是WIN系统环境利用PHP study 安装的绿色版的 upload-labs ,通过降低 PHP版本就可以使用 %00、 0x00 截断的方式突破上传。

upload-labs 官方Git地址 https://github.com/c0ny1/upload-labs

[真尼玛坑]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈哥撩编程

多点...少点...多少给点?

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

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

打赏作者

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

抵扣说明:

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

余额充值