XORpass
XORpass是使用XOR异或操作绕过WAF过滤器的编码器,基于PHP XOR异或。
安装和使用
git clone https://github.com/devploit/XORpass
cd XORpass
$ php encode.php STRING
$ php decode.php "XORed STRING"
bypass示例
使用常规方式执行命令:被waf拦截
使用XOR bypass绕过WAF执行命令,成功绕过
$ php encode.php system # return A
$ php encode.php ls # return B
payload == A(B)
PHP为什么将payloads视为字符串?
^是互斥或运算符,这意味着我们实际上正在使用二进制值。因此,让我们分解发生的事情。
二进制值的XOR异或运算符将返回1,其中只有一位为1,否则返回0(0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0)。对字符使用XOR异或时,将使用其ASCII值。这些ASCII值是整数,因此我们需要将其转换为二进制值以查看实际情况。
A = 65 = 1000001
S = 83 = 1010011
B = 66 = 1000010
A 1000001
^
S 1010011
^
B 1000010
----------------
result0010010 = 80 = P
A^S^B = P
如果我们做一个'echo“ A” ^“ S” ^“ B”;'如我们所见,PHP将为我们返回P。
原文连接:使用XOR异或绕过WAF拦截:XORpass
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。