XORpass 是一个编码器,通过使用 XOR 运算来绕过 WAF 过滤器。
git clone https://github.com/devploit/XORpass
cd XORpass
$ python3 xorpass.py -h
使用清晰的 PHP 函数:

使用该函数的 XOR 绕过:
$ python3 xorpass.py -e "system(ls)"
^ 是异或运算符,这意味着我们实际上在处理二进制值。让我们分解一下发生了什么。
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
----------------
result 1010000 = 80 = P
A^S^B = P
如果我们执行 'echo "A"^"S"^"B";',PHP 会返回一个 P,正如我们所见。