HTTP parameter pollution

HTTP Parameter Pollution or HPP in short is a vulnerability that occurs due to passing of multiple parameters having same name. There is no RFC standard on what should be done when passed multiple parameters. This vulnerability was first discovered in 2009. [1].HPP could be used for cross channel pollution, bypassing CSRF protection and WAF input validation checks.[2]

Behaviour

When passed multiple parameters with same name, here is how backend behaves

Behaviour
TechnologyParsing resultExample
ASP.NET/IISAll occurrences concatenated with a commaparam=val1,val2
ASP/IISAll occurrences concatenated with a commaparam=val1,val2
PHP/ApacheLast occurence onlyparam=val2
PHP/ZeusLast occurence onlyparam=val2
JSP, Servlet/Apache TomcatFirst occurence onlyparam=val1
JSP, Servlet/Oracle Application ServerFirst occurence onlyparam=val1
JSP, Servlet/JettyFirst occurence onlyparam=val1
IBM Lotus DominoLast occurrence onlyparam=val2
IBM HTTP ServerFirst occurence onlyparam=val1
mod_perl,libapreq2/ApacheFirst occurence onlyparam=val1
Perl CGI/ApacheFirst occurence onlyparam=val1
mod_wsgi (Python)/ApacheFirst occurence onlyparam=val1
Python/ZopeAll occurences in list(array)param=['val1','val2']

[1]

Types

Client-side

  • First Order / Reflected HPP[3]
  • Second Order / Stored HPP[3]
  • Third Order / DOM HPP[3]

Server-side

  • Standard HPP[3]
  • Second Order HPP[3]

Prevention

Proper input validation and awareness about web technology on HPP is protection against HTTP Parameter Pollution.[4]

gollark: Yes, you can look at national statistics instead of who you happen to know.
gollark: The """server""" is a raspberry pi, but it runs mildly important things.
gollark: Okay, that was easy, it just needed to be power cycled.
gollark: I'm going to be absent for this briefly while I investigate the mysterious nonexistence of one of my """servers""".
gollark: Oh, the long now clock thing, it's neat.

See also

References


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.