Server Side Parameter Pollution
Place query syntax characters like #
, &
, and =
in your input and observe how the application responds
Example:
It's essential that you URL-encode the #
character. Otherwise the front-end application will interpret it as a fragment identifier and it won't be passed to the internal API.
Overriding parameters
PHP parses the last parameter only. This would result in a user search for
carlos
.ASP.NET combines both parameters. This would result in a user search for
peter,carlos
, which might result in anInvalid username
error message.Node.js / express parses the first parameter only. This would result in a user search for
peter
, giving an unchanged result.
REST Paths
This may result in the following server-side request:
GET /api/private/users/peter/../admin
Structured data
Example 1
You can attempt to add the access_level
parameter to the request as follows:
If the user input is added to the server-side JSON data without adequate validation or sanitization, this results in the following server-side request:
Example 2
Add access_level
Burp Extension - Backslash Powered Scanning
Last updated
Was this helpful?