HTTP Parameter Pollution (HPP) is a
web application vulnerability exploited by injecting encoded
query string delimiters in already existing
parameters. The vulnerability occurs if user input is not correctly encoded for output by a web application. This vulnerability allows the injection of parameters into web application-created URLs. It was first brought forth to the public in 2009 by Stefano di Paola and Luca Carettoni, in the conference
OWASP EU09 Poland. The impact of such vulnerability varies, and it can range from "simple annoyance" to complete disruption of the intended behavior of a web application. Overriding HTTP parameters to alter a web application's behavior, bypassing input and access validation checkpoints, as well as other indirect vulnerabilities, are possible consequences of a HPP attack.
There is no
RFC
RFC may refer to:
Computing
* Request for Comments, a memorandum on Internet standards
* Request for change, change management
* Remote Function Call, in SAP computer systems
* Rhye's and Fall of Civilization, a modification for Sid Meier's Civ ...
standard on what should be done when it has passed multiple parameters. HPP could be used for cross channel pollution, bypassing
CSRF protection and
WAF input validation checks.
Behaviour
When they are passed multiple parameters with the same name, here is how various back ends behave.
Types
Client-side
* First Order / Reflected HPP
* Second Order / Stored HPP
* Third Order / DOM HPP
Server-side
* Standard HPP
* Second Order HPP
Prevention
Proper input validation and awareness about web technology on HPP is protection against HTTP Parameter Pollution.
See also
*
HTTP response splitting
HTTP response splitting is a form of web application vulnerability, resulting from the failure of the application or its environment to properly sanitize input values. It can be used to perform cross-site scripting attacks, cross-user defacement, ...
*
HTTP request smuggling
References
Hypertext Transfer Protocol
Internet security
Computer security exploits
Bibliography
*
{{Web-stub