
Encoder per aggirare i filtri WAF utilizzando operazioni XOR.
XORpass è un encoder per bypassare i filtri WAF utilizzando operazioni XOR.
git clone https://github.com/devploit/XORpass
cd XORpass
$ python3 xorpass.py -h
Utilizzo della funzione PHP in chiaro:

Utilizzo dell'evasione XOR di quella funzione:
$ python3 xorpass.py -e "system(ls)"
L'operatore ^ è l'operatore OR esclusivo, il che significa che in realtà stiamo lavorando con valori binari. Quindi analizziamo cosa succede.
L'operatore XOR sui valori binari restituisce 1 dove solo uno dei bit era 1, altrimenti restituisce 0 (0^0 = 0, 0^1 = 1, 1^0 = 1, 1^1 = 0). Quando si utilizza XOR sui caratteri, si utilizzano i loro valori ASCII. Questi valori ASCII sono interi, quindi dobbiamo convertirli in binario per vedere cosa sta realmente accadendo.
A = 65 = 1000001
S = 83 = 1010011
B = 66 = 1000010
A 1000001
^
S 1010011
^
B 1000010
----------------
result 1010000 = 80 = P
A^S^B = P
Se eseguiamo un 'echo "A"^"S"^"B";' PHP ci restituirà una P come vediamo.