{"id":477500,"date":"2023-08-09T09:15:57","date_gmt":"2023-08-09T09:15:57","guid":{"rendered":""},"modified":"2023-09-05T11:14:50","modified_gmt":"2023-09-05T11:14:50","slug":"http-parameter-pollution","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/fr\/wiki\/http-parameter-pollution\/","title":{"rendered":"Pollution des param\u00e8tres HTTP"},"content":{"rendered":"<p>La pollution des param\u00e8tres HTTP (HPP) est une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 Web souvent n\u00e9glig\u00e9e, affectant principalement les applications Web en manipulant les donn\u00e9es envoy\u00e9es via les requ\u00eates HTTP. Cet article approfondit l&#039;historique, le fonctionnement et les principales fonctionnalit\u00e9s de HPP, ainsi que ses diff\u00e9rents types, ses utilisations potentielles, ainsi que les probl\u00e8mes et solutions associ\u00e9s. L&#039;article explore \u00e9galement la connexion entre HPP et les serveurs proxy, ainsi que les perspectives futures li\u00e9es \u00e0 ce ph\u00e9nom\u00e8ne bas\u00e9 sur le Web.<\/p>\n<h2>L&#039;\u00e9volution de la pollution des param\u00e8tres HTTP<\/h2>\n<p>La pollution par les param\u00e8tres HTTP a \u00e9t\u00e9 identifi\u00e9e pour la premi\u00e8re fois comme une vuln\u00e9rabilit\u00e9 distincte des applications Web au d\u00e9but des ann\u00e9es 2000, avec le d\u00e9veloppement rapide des technologies Web et l&#039;expansion du World Wide Web. Alors que les sites Web ont commenc\u00e9 \u00e0 s&#039;appuyer davantage sur les requ\u00eates HTTP GET et POST pour transf\u00e9rer des donn\u00e9es, les pirates ont d\u00e9couvert le potentiel d&#039;exploitation de la mani\u00e8re dont ces requ\u00eates traitaient les param\u00e8tres.<\/p>\n<p>La premi\u00e8re mention document\u00e9e de HPP remonte aux ann\u00e9es 2000, mais le terme lui-m\u00eame a \u00e9t\u00e9 officiellement reconnu par la communaut\u00e9 de la s\u00e9curit\u00e9 Web suite \u00e0 la publication d&#039;un article de l&#039;OWASP (Open Web Application Security Project) en 2010, mettant cette vuln\u00e9rabilit\u00e9 sous le feu des projecteurs. .<\/p>\n<h2>D\u00e9ballage de la pollution des param\u00e8tres HTTP<\/h2>\n<p>La pollution des param\u00e8tres HTTP est un type de vuln\u00e9rabilit\u00e9 Web qui implique l&#039;injection de param\u00e8tres manipul\u00e9s dans les requ\u00eates HTTP. Cela pourrait potentiellement permettre aux attaquants de modifier le fonctionnement d&#039;une application Web, de contourner les contr\u00f4les de validation des entr\u00e9es, d&#039;acc\u00e9der \u00e0 des donn\u00e9es sensibles et de mener d&#039;autres formes d&#039;attaques Web.<\/p>\n<p>HPP se produit lorsqu&#039;une application Web combine des param\u00e8tres HTTP portant le m\u00eame nom provenant de diff\u00e9rentes parties d&#039;une requ\u00eate HTTP en un seul. En manipulant ces param\u00e8tres, un attaquant peut contr\u00f4ler le comportement de l&#039;application de mani\u00e8re inattendue, entra\u00eenant ainsi un large \u00e9ventail de risques de s\u00e9curit\u00e9 potentiels.<\/p>\n<h2>Les m\u00e9canismes de la pollution des param\u00e8tres HTTP<\/h2>\n<p>Le fonctionnement interne de HPP repose sur la mani\u00e8re dont les applications Web g\u00e8rent les requ\u00eates HTTP. Dans une requ\u00eate HTTP, les param\u00e8tres sont envoy\u00e9s dans le cadre de l&#039;URL d&#039;une requ\u00eate GET ou dans le corps d&#039;une requ\u00eate POST. Ces param\u00e8tres peuvent \u00eatre utilis\u00e9s pour sp\u00e9cifier les donn\u00e9es que l&#039;application Web doit renvoyer ou sur lesquelles fonctionner.<\/p>\n<p>Lorsqu&#039;une requ\u00eate HTTP est adress\u00e9e \u00e0 une application Web, le serveur de l&#039;application traite les param\u00e8tres inclus dans la requ\u00eate. Cependant, si l&#039;application ne g\u00e8re pas correctement les instances dans lesquelles le m\u00eame param\u00e8tre est inclus plusieurs fois, cela cr\u00e9e une opportunit\u00e9 pour une attaque HPP.<\/p>\n<p>Dans une attaque HPP, l&#039;attaquant inclut le m\u00eame param\u00e8tre plusieurs fois dans une requ\u00eate HTTP, \u00e0 chaque fois avec des valeurs diff\u00e9rentes. Le serveur d&#039;applications combine ensuite ces valeurs d&#039;une mani\u00e8re qui n&#039;\u00e9tait pas pr\u00e9vue par les d\u00e9veloppeurs, conduisant \u00e0 des failles de s\u00e9curit\u00e9 potentielles.<\/p>\n<h2>Principales caract\u00e9ristiques de la pollution des param\u00e8tres HTTP<\/h2>\n<p>Plusieurs caract\u00e9ristiques d\u00e9terminantes distinguent la pollution des param\u00e8tres HTTP des autres vuln\u00e9rabilit\u00e9s Web\u00a0:<\/p>\n<ol>\n<li><strong>Ciblage des requ\u00eates HTTP\u00a0:<\/strong> HPP cible sp\u00e9cifiquement les param\u00e8tres des requ\u00eates HTTP GET et POST.<\/li>\n<li><strong>Manipulation des param\u00e8tres\u00a0:<\/strong> Le c\u0153ur d\u2019une attaque HPP consiste \u00e0 manipuler les valeurs de ces param\u00e8tres.<\/li>\n<li><strong>En fonction du comportement de l&#039;application\u00a0:<\/strong> L&#039;impact d&#039;une attaque HPP d\u00e9pend fortement de la mani\u00e8re dont l&#039;application Web cibl\u00e9e g\u00e8re les param\u00e8tres r\u00e9p\u00e9t\u00e9s dans une requ\u00eate HTTP.<\/li>\n<li><strong>Potentiel d\u2019impact g\u00e9n\u00e9ralis\u00e9\u00a0:<\/strong> Comme HPP peut potentiellement affecter toute application Web qui ne g\u00e8re pas correctement les param\u00e8tres HTTP r\u00e9p\u00e9t\u00e9s, son impact potentiel est \u00e9tendu.<\/li>\n<li><strong>Approche furtive\u00a0:<\/strong> Les attaques HPP peuvent \u00eatre difficiles \u00e0 d\u00e9tecter car elles peuvent se faire passer pour une entr\u00e9e utilisateur l\u00e9gitime.<\/li>\n<\/ol>\n<h2>Types de pollution des param\u00e8tres HTTP<\/h2>\n<p>Il existe deux principaux types de pollution des param\u00e8tres HTTP bas\u00e9s sur la m\u00e9thode HTTP utilis\u00e9e\u00a0:<\/p>\n<ol>\n<li><strong>HPP bas\u00e9 sur GET\u00a0:<\/strong> Ce type d&#039;attaque HPP manipule les param\u00e8tres de l&#039;URL d&#039;une requ\u00eate HTTP GET.<\/li>\n<li><strong>HPP bas\u00e9 sur POST\u00a0:<\/strong> Ce type d&#039;attaque HPP manipule les param\u00e8tres dans le corps d&#039;une requ\u00eate HTTP POST.<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th>M\u00e9thode HTTP<\/th>\n<th>Description<\/th>\n<th>Impact potentiel<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OBTENIR<\/td>\n<td>Les param\u00e8tres sont ajout\u00e9s \u00e0 l&#039;URL et sont visibles par l&#039;utilisateur.<\/td>\n<td>Peut manipuler la r\u00e9ponse du serveur ou le comportement de l&#039;application Web<\/td>\n<\/tr>\n<tr>\n<td>POSTE<\/td>\n<td>Les param\u00e8tres sont inclus dans le corps de la requ\u00eate HTTP et sont masqu\u00e9s.<\/td>\n<td>Peut modifier l&#039;\u00e9tat du serveur et les informations qu&#039;il stocke<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Impl\u00e9mentation de la pollution des param\u00e8tres HTTP\u00a0: probl\u00e8mes et solutions<\/h2>\n<p>Malgr\u00e9 sa nature furtive, il existe des moyens de d\u00e9tecter et d&#039;att\u00e9nuer les risques pos\u00e9s par les attaques HPP. La plupart impliquent une gestion et un nettoyage appropri\u00e9s des entr\u00e9es, en particulier en ce qui concerne les param\u00e8tres HTTP\u00a0:<\/p>\n<ol>\n<li><strong>Valider l&#039;entr\u00e9e\u00a0:<\/strong> Les applications Web doivent valider toutes les entr\u00e9es pour garantir qu&#039;elles r\u00e9pondent aux formats attendus.<\/li>\n<li><strong>D\u00e9sinfecter l&#039;entr\u00e9e\u00a0:<\/strong> Toutes les entr\u00e9es doivent \u00eatre nettoy\u00e9es pour supprimer les donn\u00e9es potentiellement dangereuses.<\/li>\n<li><strong>Impl\u00e9menter un pare-feu d&#039;application Web (WAF)\u00a0:<\/strong> Les WAF peuvent d\u00e9tecter et bloquer de nombreuses tentatives HPP.<\/li>\n<li><strong>Audits de s\u00e9curit\u00e9 r\u00e9guliers\u00a0:<\/strong> L&#039;examen r\u00e9gulier du code et la r\u00e9alisation de tests d&#039;intrusion peuvent aider \u00e0 identifier et \u00e0 corriger les vuln\u00e9rabilit\u00e9s potentielles.<\/li>\n<\/ol>\n<h2>Comparaisons avec des vuln\u00e9rabilit\u00e9s similaires<\/h2>\n<p>Voici quelques vuln\u00e9rabilit\u00e9s Web qui ressemblent quelque peu \u00e0 HPP\u00a0:<\/p>\n<table>\n<thead>\n<tr>\n<th>Vuln\u00e9rabilit\u00e9<\/th>\n<th>Description<\/th>\n<th>Similitude avec HPP<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Injection SQL<\/td>\n<td>Un attaquant manipule les entr\u00e9es pour ex\u00e9cuter des requ\u00eates SQL arbitraires sur une base de donn\u00e9es.<\/td>\n<td>Les deux impliquent la manipulation des entr\u00e9es pour modifier le comportement de l\u2019application.<\/td>\n<\/tr>\n<tr>\n<td>XSS<\/td>\n<td>L&#039;attaquant injecte des scripts malveillants dans les pages Web consult\u00e9es par d&#039;autres utilisateurs.<\/td>\n<td>Les deux peuvent manipuler les comportements c\u00f4t\u00e9 serveur et compromettre les informations des utilisateurs.<\/td>\n<\/tr>\n<tr>\n<td>CSRF<\/td>\n<td>L&#039;attaquant incite une victime \u00e0 ex\u00e9cuter des actions ind\u00e9sirables sur une application Web dans laquelle elle est authentifi\u00e9e.<\/td>\n<td>Les deux exploitent la confiance qu\u2019un site accorde au navigateur d\u2019un utilisateur.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectives futures de la pollution des param\u00e8tres HTTP<\/h2>\n<p>\u00c0 mesure que les applications Web continuent d\u2019\u00e9voluer, les techniques utilis\u00e9es pour les exploiter \u00e9volueront \u00e9galement. Bien que la pollution des param\u00e8tres HTTP soit connue depuis un certain temps, elle n\u2019est toujours pas largement comprise ni v\u00e9rifi\u00e9e, ce qui signifie qu\u2019elle pourrait devenir une menace plus importante \u00e0 l\u2019avenir. De plus, \u00e0 mesure que de plus en plus d\u2019appareils sont connect\u00e9s au Web gr\u00e2ce \u00e0 l\u2019Internet des objets, la surface d\u2019attaque potentielle de HPP s\u2019\u00e9largit.<\/p>\n<p>Cependant, cela signifie \u00e9galement que les outils et techniques utilis\u00e9s pour se d\u00e9fendre contre l\u2019HPP sont susceptibles de s\u2019am\u00e9liorer. L&#039;accent est de plus en plus mis sur les pratiques de codage s\u00e9curis\u00e9es et les outils automatis\u00e9s pour d\u00e9tecter et pr\u00e9venir de telles vuln\u00e9rabilit\u00e9s. \u00c0 l\u2019avenir, nous pourrions voir des WAF plus sophistiqu\u00e9s et des technologies similaires sp\u00e9cialement con\u00e7ues pour se d\u00e9fendre contre les attaques de pollution param\u00e9trique.<\/p>\n<h2>Serveurs proxy et pollution des param\u00e8tres HTTP<\/h2>\n<p>Les serveurs proxy servent d&#039;interm\u00e9diaire pour les requ\u00eates des clients recherchant des ressources provenant d&#039;autres serveurs, qui pourraient potentiellement \u00eatre utilis\u00e9es pour se pr\u00e9munir contre les attaques HPP. Ils peuvent inspecter les requ\u00eates HTTP entrantes \u00e0 la recherche de signes de HPP (comme des param\u00e8tres r\u00e9p\u00e9t\u00e9s) et bloquer ou modifier ces requ\u00eates pour att\u00e9nuer la menace.<\/p>\n<p>De plus, les serveurs proxy peuvent \u00eatre utilis\u00e9s comme une forme d&#039;isolement, prot\u00e9geant les r\u00e9seaux internes de l&#039;exposition directe \u00e0 Internet et des attaques HPP potentielles. Ils peuvent \u00e9galement \u00eatre configur\u00e9s pour enregistrer toutes les requ\u00eates HTTP entrantes, fournissant ainsi des donn\u00e9es pr\u00e9cieuses pour identifier et analyser les tentatives d&#039;attaques HPP.<\/p>\n<h2>Liens connexes<\/h2>\n<p>Pour plus d\u2019informations sur la pollution des param\u00e8tres HTTP, veuillez visiter les ressources suivantes\u00a0:<\/p>\n<ol>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/HTTP_Parameter_Pollution_(HPP)\" target=\"_new\" rel=\"noopener nofollow\">OWASP\u00a0:\u00a0pollution des param\u00e8tres HTTP<\/a><\/li>\n<li><a href=\"https:\/\/www.acunetix.com\/websitesecurity\/http-parameter-pollution\/\" target=\"_new\" rel=\"noopener nofollow\">Acunetix\u00a0: Qu&#039;est-ce que la pollution des param\u00e8tres HTTP<\/a><\/li>\n<li><a href=\"https:\/\/portswigger.net\/web-security\/parameters\" target=\"_new\" rel=\"noopener nofollow\">Vuln\u00e9rabilit\u00e9s de pollution des param\u00e8tres HTTP<\/a><\/li>\n<li><a href=\"https:\/\/www.checkmarx.com\/blog\/http-parameter-pollution-hpp-for-fun-and-profit\/\" target=\"_new\" rel=\"noopener nofollow\">Pollution des param\u00e8tres HTTP (HPP) pour le plaisir et le profit<\/a><\/li>\n<li><a href=\"https:\/\/www.imperva.com\/learn\/application-security\/http-parameter-pollution-hpp-attack\/\" target=\"_new\" rel=\"noopener nofollow\">Se d\u00e9fendre contre les attaques de pollution par les param\u00e8tres HTTP<\/a><\/li>\n<\/ol>","protected":false},"featured_media":477501,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477500","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>HTTP Parameter Pollution: A Comprehensive Exploration<\/mark>","faq_items":[{"question":"What is HTTP Parameter Pollution?","answer":"<p>HTTP Parameter Pollution (HPP) is a web security vulnerability that involves the injection of manipulated parameters into HTTP requests. This could potentially allow attackers to alter the way a web application functions, bypass input validation checks, access sensitive data, and carry out other forms of web-based attacks.<\/p>"},{"question":"When was HTTP Parameter Pollution first identified?","answer":"<p>HTTP Parameter Pollution was first identified as a distinct web application vulnerability around the early 2000s. However, it was officially recognized by the web security community following the release of a paper by OWASP (Open Web Application Security Project) in 2010.<\/p>"},{"question":"How does an HTTP Parameter Pollution attack work?","answer":"<p>In an HPP attack, the attacker includes the same parameter multiple times within an HTTP request, each time with different values. The application server then combines these values in a way that was not intended by the developers, leading to potential security vulnerabilities.<\/p>"},{"question":"What are the key features of HTTP Parameter Pollution?","answer":"<p>The key features of HTTP Parameter Pollution include targeting HTTP requests, manipulation of parameters, dependency on the application behaviour, the potential for a widespread impact, and its stealthy approach.<\/p>"},{"question":"What types of HTTP Parameter Pollution exist?","answer":"<p>There are two primary types of HTTP Parameter Pollution based on the HTTP method used: GET-Based HPP, which manipulates the parameters within the URL of an HTTP GET request, and POST-Based HPP, which manipulates the parameters within the body of an HTTP POST request.<\/p>"},{"question":"How can one mitigate the risks posed by HTTP Parameter Pollution attacks?","answer":"<p>Most mitigation strategies involve properly handling and sanitizing input, particularly with respect to HTTP parameters. This includes validating and sanitizing input, implementing a Web Application Firewall (WAF), and conducting regular security audits.<\/p>"},{"question":"How do proxy servers guard against HTTP Parameter Pollution attacks?","answer":"<p>Proxy servers can inspect incoming HTTP requests for signs of HPP (like repeated parameters) and block or alter these requests to mitigate the threat. They can also isolate internal networks from direct exposure to the internet and potential HPP attacks, and log all incoming HTTP requests for further analysis.<\/p>"},{"question":"What are the future perspectives of HTTP Parameter Pollution?","answer":"<p>As web applications continue to evolve, so too will the techniques used to exploit them. However, the focus on secure coding practices and automated tools to detect and prevent such vulnerabilities is also increasing. In the future, we may see more sophisticated WAFs and similar technologies specifically designed to defend against parameter pollution attacks.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki\/477500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/wiki\/477500\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media\/477501"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/fr\/wp-json\/wp\/v2\/media?parent=477500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}