上传_waf绕过

学前必看

大多WAF 匹配原则

1. 看见上传.php文件名马上拦截
2. 看见上传php.php文件名限制左边或者右边

反思绕过

是否可以让WAF匹配不到后缀却能执行php文件?
让我们一起来探寻绕过思路吧!!!

可绕的位置

Content-Disposition
一般可以任意修改,甚至删除
filename-
可以修改
Content-Type
视情况定,需要考虑网站上传验证是否处理

三个位置绕过实验

实验一:%00加url编码绕过

原理:利用截断加编码让waf匹配不到php后缀并且我们自己可以解析为php文件

  • filename="x.php%00.jpg"

  • 使用 空格x.php%00.jpg绕过

  • 吧%00右键url编码变成了一个框框,使其解析不到文件名php,但是%00同时又在截断,所以最后只省下空格x.php

在这里插入图片描述

  • %20x.php访问,成功上传
  • 实验成功

在这里插入图片描述

实验二:去掉引号绕过

原理:编程语言中变量后面一般都有双引号,有时候waf没有考虑到我们去掉双引号而存在绕过

  • filename="x.php%00.jpg
  • 可以去掉左右双引号也可以去掉单边
  • 可看到该方法已经被拦截
    在这里插入图片描述

实验三:双文件名绕过

原理:开发waf的作者只考虑到了单个变量提交,而没考虑到我们复制一个fiename,产生了循环,也就只匹配了第一个

  • filename= ; filename="a.php"
  • 实验成功
    在这里插入图片描述

实验四:换行绕过

原理:类似于换行绕过
filename=”x.
p
h
p

  • 实验成功

在这里插入图片描述

实验五:Content-Disposition

  • 该位置通常就是添加干扰符绕过
  • 实验失败

在这里插入图片描述

实验六:Content-Type

  • 该位置必须是验证类型,添加干扰符才可成功
  • 实验失败

在这里插入图片描述

实验七:上传Fuzz

使用工具生成爆破后缀名字典

参考连接-------->>>工具生成爆破字典

爆破可绕WAF的文件后缀名

  • 选择爆破的位置

在这里插入图片描述

  • 取消编码,便可开始爆破
  • 寻找length是不同的,观察响应包,
  • 寻找出FUZZ出来的上传文件名

在这里插入图片描述

实验结论

  • 一.可以发现三个位置fiename位置最容易bypass成功,所以得出结论,fuzz最好就在fiename位置即可
  • 二.上传也可FUZZ,FUZZ可以快速寻找出上传成功的文件名,当然也容易触发安全防御,容易被panIP,所有最好有代理池
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值