XORpass is an encoder to bypass WAF filters using XOR operations.
Installation & Usage
git clone https://github.com/devploit/XORpass
cd XORpass
$ php encode.php STRING
$ php decode.php “XORed STRING”
Example of bypass
Using clear PHP function:
Using XOR bypass of that function:
$ php encode.php system # return A
$ php encode.php ls # return B
payload == A(B)
Why does PHP treat our payload as a string?
The ^ is the exclusive or operator, which means that we’re in reality working with binary values. So lets break down what happens.
The XOR operator on binary values will return 1 where just one of the bits were 1, otherwise it returns 0 (0^0 = 0, 0^1 = 1, 1^0 = 1, 1^1 = 0). When you use XOR on characters, you’re using their ASCII values. These ASCII values are integers, so we need to convert those to binary to see what’s actually going on.
A = 65 = 1000001
S = 83 = 1010011
B = 66 = 1000010
A 1000001
^
S 1010011
^
B 1000010
——————————
result 0010010 = 80 = P
A^S^B = P
If we do an ‘echo “A”^”S”^”B”;’ PHP will return us a P as we see.
General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…
How to Send POST Requests Using curl in Linux If you work with APIs, servers,…
If you are a Linux user, you have probably seen commands like chmod 777 while…
Vim and Vi are among the most powerful text editors in the Linux world. They…
Working with compressed files is a common task for any Linux user. Whether you are…
In the digital era, an email address can reveal much more than just a contact…