Request and Cookie Forgery
URL Encoding
URL encoding is a way to encode special characters in a URL. The code is the
%
character followed by the Hex representation of the character in ascii. For example, the?
character is encoded as%3F
, space is%20
etc.Read this for more details on how to encode characters.
IP restriction bypass with the
X-Forwarded-For
headerSome servers use the
X-Forwarded-For
header to check if the request comes from a valid IP address. This is a vulnerability since it can be changed by the client, and used to bypass IP restrictions.Use burp or python’s
requests
library to set the header.Authentication bypass with
User-Agent
headerSome servers use the
User-Agent
header to authenticate the user. Usually this field is used to identify the browser’s version and OS, but it can be changed by the client.Use burp or python’s
requests
library to set the header.Verb tampering
Servers can have different behaviors depending on the HTTP verb used. For example, a server can return a 404 error when a
GET
request is made, but return a 200 when aPUT
request is made.Read this for more details on how to test it.
AES CBC ciphered cookies
See Bit flipping attack for more details.