
Энкодер для обхода WAF-фильтров с использованием XOR-операций.
XORpass — это кодировщик для обхода WAF-фильтров с использованием XOR-операций.
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, как мы видим.