PDA

Voir la version complète : Un header HTTP pour les contrôler tous



darvador2002
25/03/2014, 20h02
Un header HTTP pour les contrôler tous
http://korben.info/wp-content/uploads/2014/03/http.jpg (http://korben.info/header-http-pour-les-controler.html)
Certains services web aux WAF (http://en.wikipedia.org/wiki/Application_firewall) (firewalls logiciels) mal configurés se laissent berner par certaines entêtes HTTP. Il suffit par exemple de forcer le passage d'un "x-forwarded-for" avec l'IP du serveur cache pour faire croire au serveur que vous êtes le cache. Pourquoi pas utiliser aussi "x-remote-IP" pour vous faire passer pour le proxy (http://free.korben.info/index.php/Proxy), ou encore "x-remote-addr" pour faire croire au firewall que vous êtes en local... (192.168.1.x).
Ah non, encore mieux... Faire croire au serveur que vous êtes lui, tout simplement en passant un "x-originating-IP" à 127.0.0.1
http://h30499.www3.hp.com/t5/image/serverpage/image-id/39806iF9A363B1952453C4/image-size/original?v=mpbl-1&px=-1
Ainsi, il est possible d'avoir accès à des fonctionnalités, des pages ou des versions d'un site, qui sont normalement réservées aux équipes de dev ou à l'admin. C'est tellement n00b que j'ai du mal à croire que ça fonctionne encore. En tout cas, ça doit être déjà connu depuis un bail mais ça n'empêche pas Jason Haddix, expert en sécurité, de revenir dessus dans un petit article bien détaillé sur le site d'HP (http://h30499.www3.hp.com/t5/Fortify-Application-Security/Bypassing-web-application-firewalls-using-HTTP-headers/ba-p/6418366).

http://h30499.www3.hp.com/t5/image/serverpage/image-id/39804i8FA6E6EA279610AF/image-size/original?v=mpbl-1&px=-1
Ce qui est rigolo, c'est que pour modifier ces entêtes, il suffit d'une simple extension Firefox comme Modify Headers (https://addons.mozilla.org/en-US/firefox/addon/modify-headers/).

http://korben.info/wp-content/uploads/2014/03/modifygeaders.jpg (http://korben.info/wp-content/uploads/2014/03/modifygeaders.jpg)