XORpass
XORpass是使用XOR异或操作绕过WAF过滤器的编码器,基于PHP XOR异或。
安装和使用
1 2 3 4 5 |
git clone https://github.com/devploit/XORpass cd XORpass $ php encode.php STRING $ php decode.php "XORed STRING" |
bypass示例
使用常规方式执行命令:被waf拦截
使用XOR bypass绕过WAF执行命令,成功绕过
1 2 3 4 |
$ 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值是整数,因此我们需要将其转换为二进制值以查看实际情况。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
A = 65 = 1000001 S = 83 = 1010011 B = 66 = 1000010 A 1000001 ^ S 1010011 ^ B 1000010 ---------------- result 0010010 = 80 = P A^S^B = P |
如果我们做一个'echo“ A” ^“ S” ^“ B”;'如我们所见,PHP将为我们返回P。
原文连接:使用XOR异或绕过WAF拦截:XORpass
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。