Übersicht
HTTP-Header, die mit jeder Anfrage übertragen werden, verraten bedeutende Informationen über den Client. Dies sind die einfachsten Signale, die auf Proxy-Ebene gespooft werden können.
Für Fingerprinting verwendete Header
User-Agent
Bekanntestes Signal. Enthält OS, Browser, Version, Architektur.
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)
Moderner Ersatz für die User-Agent-Granularität:
| Header | Beispiel |
|---|---|
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" (Mobil) |
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" |
Andere Header
| Header | Preisgegebene Info |
|---|---|
Accept |
Browser-Funktionen |
Accept-Language |
Benutzerspracheinstellungen |
Accept-Encoding |
Komprimierungsunterstützung |
DNT |
Do-Not-Track-Einstellung |
Upgrade-Insecure-Requests |
Browser-Funktion |
Referer |
Vorherige Seite (Verhalten) |
Spoofing-Strategie auf Proxy-Ebene
Header können auf dem Proxy vollständig ersetzt werden, da sie in HTTP Klartext sind und in HTTPS MITM zugänglich:
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"
Konsistenzanforderungen
Alle Header müssen konsistent mit dem gewählten Profil sein:
- Wenn das Profil "Chrome 120 auf Windows 11" angibt, dann:
User-Agentmuss Chrome 120 / Windows 11 widerspiegelnSec-CH-UAmuss Chrome 120 / Chromium 120 auflistenSec-CH-UA-Platformmuss"Windows"seinAcceptmuss Chromes typischem Accept-Header entsprechen- TLS-Fingerprint (JA3) muss Chrome 120 auf Windows entsprechen
Inkonsistenz ist selbst ein Fingerprint (z. B. Chrome-User-Agent mit einem Firefox-TLS-Handshake).
Schlussfolgerungen
- HTTP-Header-Spoofing ist die einfachste und zuverlässigste Abschwächung
- Header sind auf Proxy-Ebene vollständig kontrollierbar
- Kritische Anforderung: interne Konsistenz über alle Header hinweg
- Das Profilsystem muss sicherstellen, dass alle Headerwerte einer echten Browser-/OS-Kombination entsprechen
- Ohne dies bricht das gesamte System