Aperçu
Les en-têtes HTTP transmis avec chaque requête révèlent des informations significatives sur le client. Ce sont les signaux les plus simples à usurper au niveau proxy.
En-têtes Utilisés pour l'Empreinte
User-Agent
Signal le plus connu. Contient OS, navigateur, version, architecture.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Client Hints (Sec-CH-UA)
Remplacement moderne pour la granularité du User-Agent :
| En-tête | Exemple |
|---|---|
Sec-CH-UA |
"Google Chrome";v="120", "Chromium";v="120", "Not?A_Brand";v="99" |
Sec-CH-UA-Platform |
"Windows" |
Sec-CH-UA-Platform-Version |
"15.0.0" |
Sec-CH-UA-Model |
"Pixel 7" (mobile) |
Sec-CH-UA-Mobile |
?0 |
Sec-CH-UA-Arch |
"x86" |
Sec-CH-UA-Bitness |
"64" |
Sec-CH-UA-Full-Version-List |
"Google Chrome";v="120.0.6099.109" |
Autres En-têtes
| En-tête | Info Fuite |
|---|---|
Accept |
Capacités du navigateur |
Accept-Language |
Préférences linguistiques de l'utilisateur |
Accept-Encoding |
Support de compression |
DNT |
Préférence Do Not Track |
Upgrade-Insecure-Requests |
Capacité du navigateur |
Referer |
Page précédente (comportemental) |
Stratégie d'Usurpation au Proxy
Les en-têtes peuvent être entièrement remplacés au proxy car ils sont en texte clair en HTTP et accessibles en HTTPS MITM :
proxy_set_header User-Agent "Mozilla/5.0 ..."
proxy_set_header Sec-CH-UA "..."
proxy_set_header Sec-CH-UA-Platform "Windows"
proxy_set_header Accept-Language "en-US,en;q=0.9"
Exigences de Cohérence
Tous les en-têtes doivent être cohérents avec le profil choisi :
- Si le profil dit "Chrome 120 sur Windows 11", alors :
User-Agentdoit refléter Chrome 120 / Windows 11Sec-CH-UAdoit lister Chrome 120 / Chromium 120Sec-CH-UA-Platformdoit être"Windows"Acceptdoit correspondre à l'en-tête Accept typique de Chrome- L'empreinte TLS (JA3) doit correspondre à Chrome 120 sur Windows
L'incohérence est elle-même une empreinte (ex., User-Agent Chrome avec une poignée de main TLS Firefox).
Conclusions
- L'usurpation d'en-têtes HTTP est l'atténuation la plus facile et la plus fiable
- Les en-têtes sont entièrement contrôlables au proxy
- Exigence critique : cohérence interne entre tous les en-têtes
- Le système de profils doit garantir que toutes les valeurs d'en-tête correspondent à une combinaison navigateur/OS réelle
- Sans cela, tout le système échoue