Cet article a deux buts principaux : vous permettre de bénéficier d’un peu plus d’anonymat et accéder à des contenus normalement réservés à d’autres pays.
Malheureusement (et bien entendu) cette technique ne fonctionne pas pour tout.
L’idée est de simuler la navigation via un proxy en modifiant les headers HTTP de votre requête. Comme on travaille au niveau application on ne pourra bien sûr pas trafiquer toutes les entêtes, mais disons que d’en modifier la plupart peut suffire.
Les proxy
Nous allons travailler sur trois header principalement : via, x-forwarded-for et client-ip. Ces headers sont normalement envoyés par les proxys pour renseigner sur la réelle provenance des visiteurs qui utilisent le proxy.
|
Sans proxy |
transparent |
anonyme |
high anonymity |
REMOTE_ADDR |
votre IP |
IP du proxy |
IP du proxy |
IP du proxy |
HTTP_VIA |
n/a |
n/a |
IP du proxy |
n/a |
HTTP_CLIENT_IP |
n/a |
n/a |
n/a |
n/a |
HTTP_X_FORWARDED_FOR |
n/a |
votre IP |
votre IP |
n/a |
La mention «IP du proxy» n’est pas tout à fait vraie : certains serveurs proxy envoient, à la place, une signature (uniquement sur le header HTTP_VIA) alors que d’autres font transiter les paquets par d’autres serveurs plus plus d’anonymat.
Sur ce tableau on se rend compte que le header HTTP_CLIENT_IP n’est pas utilisé par les proxys. Pourtant, certains webmasters l’utilisent dans leur configuration et en évaluent la valeur pour essayer d’obtenir la vraie IP du visiteur.
L’idéal serait donc de modifier le header REMOTE_ADDR. Mais comme les choses ne sont jamais idéales, j’ai une mauvaise nouvelle : c’est le seul que nous ne pourrons pas modifier pour la simple et bonne raison que ce header est défini par la couche physique du modèle OSI. Les trois autres headers, par contre, sont envoyés par la couche application dudit modèle.
La bonne nouvelle, c’est que l’on peut, du coup, les modifier via une simple extension firefox : Modify Headers !
Continuer la lecture →