HTTP-Header Zeilen bei GET-Requests

HTTP-Header Zeilen bei GET-Requests

Marc Ruef
von Marc Ruef
Lesezeit: 8 Minuten

In den vorangegangenen Beiträgen HTTP-Header erwartete Anzahl Zeilen und HTTP-Header erwartete Grösse von GET-Requests wurden statistische Beobachtungen angestellt, um das erwartete und zugelassene Verhalten von Webbrowser-Implementierungen zu ermitteln.

Die Analysen wurden weitergetragen, indem die typischerweise auftretenden Header-Zeilen bei GET-Anfragen untersucht wurden. Dies ist zum Beispiel bei der Entwicklung eines hochsicheren Webservers oder bei der strikten Konfiguration eines Webproxies von Nutzen. Nachfolgende Grafik illustriert die 20 populärsten Header-Zeilen, wie sie von 300 untersuchten Webbrowsern verschickt werden.

HTTP GET Header Zeilen

Es ist zu sehen, dass der meistbenutzte Header User-Agent (14.67%) darstellt, direkt gefolgt von Host (14.08%). Das Ausbleiben der Host-Zeilen ist vor allem bei älteren Implementierungen zu beobachten, die ausschliesslich HTTP/0.9 oder HTTP/1.0 unterstützen – Bei HTTP/1.1 ist diese Zeile erforderlich (RFC 2616, Absatz 14.23, Host).

Danach folgen Accept (12.65%) und Connection (11.22%). Die drei drauf folgenden Header lehnen sich an und sind Accept-Language (9.65%), Accept-Encoding (9.30%) und Accept-Charset (6.69%). Erst an achter Stelle folgt die Referer-Zeile (5.51%).

Pos Header-Zeile Auftreten Quelle Funktion
1. User-Agent 14.67% RFC 1945, Absatz 10.15 Name des Clients
2. Host 14.08% RFC 2616, Absatz 14.23 Hostname des Servers
3. Accept 12.65% RFC 2616, Absatz 14.1 Akzeptierte Medientypen
4. Connection 11.23% RFC 2616, Absatz 14.10 Hinweise für Verbindungen
5. Accept-Language 9.65% RFC 2616, Absatz 14.4 Akzeptierte Sprachen
6. Accept-Encoding 9.31% RFC 2616, Absatz 14.3 Akzeptierte Encodierungen
7. Accept-Charset 6.70% RFC 2616, Absatz 14.2 Akzeptierter Zeichensatz
8. Referer 5.51% RFC 1945, Absatz 10.13 Gefolgter Link
9. Keep-Alive 2.81% RFC 2068, Absatz 19.7.1.1 Lebensdauer der Verbindung
10. Cache-Control 2.51% RFC 2616, Absatz 14.9 Cache-Verhalten
11. Via 1.67% RFC 2616, Absatz 14.45 Proxy-Elemente
12. X-Forwarded-For 1.13% Weiterleitung für wen
13. Pragma 1.08% RFC 2616, Absatz 14.32 Verhalten für Proxy-Elemente
14. UA-CPU 0.84% (Beispiele) CPU-Architektur des Clients
15. Cookie 0.74% RFC 2965 HTTP-Cookies
16. From 0.44% RFC 1945, Absatz 10.8 Email-Adresse des Benutzers
17. If-Modified-Since 0.39% RFC 1945, Absatz 10.9 Neue Abfrage bei Änderungen
18. X-Wap-Profile 0.39% WAP-Profil
19. X-BlueCoat-Via 0.30% Blue Coat Forum 1550 ID der Blue Coat Proxies
20. Range 0.25% RFC 2616, Absatz 14.35 Byte-Struktur
21. Client-IP 0.20% IP-Adresse des Clients
22. Proxy-Connection 0.20% Proprietärer Connection-Header
23. Icy-MetaData 0.15% (Beschreibung) Shoutcast Metadata Protocol
24. UA-Color 0.15% RFC 4229, Absatz 2.2.12 Farbtiefe des Clients
25. UA-Pixels 0.15% RFC 4229, Absatz 2.2.14 Auflösung des Clients
26. X-Apple-Store-Front 0.15% Apple iTunes Storefront-ID
27. X-Apple-TZ 0.15% Apple iTunes
28. YahooRemoteIP 0.15% IP-Adresse des Yahoo Mail-Nutzers
29. Clientid 0.10%
30. Extension 0.10%

Die gesamte Auswertung zeigt auf, dass es dennoch relativ schwierig ist, die erforderlichen, typischen und zugelassenen Header-Zeilen mit absoluter Genauigkeit zu determinieren. Zu viele Abweichungen zeigen die einzelnen Browser-Implementierungen. Spätestens wenn dann mit optionalen und proprietären X-Header Zeilen aufgewartet wird (der erste folgt als X-Forwarded-For auf Position 12 mit 1.13%). Ein intelligentes Filtern von Header-Zeilen ist aufgrund dieses Wildwuchses leider nicht in effizienter Weise umsetzbar.

Hinzu kommt das Problem, dass die unterschiedlichen Webbrowser nicht immer die vorgesehene Gross-/Kleinschreibung der Header-Zeilen einhalten. Normalerweise werden die Anfangsbuchstaben gross und alles andere klein geschrieben (z.B. User-Agent oder Accept). Einige Produkte pflegen jedoch zum Beispiel alles klein zu schreiben (z.B. user-agent, vorzugsweise durch Sony-Ericsson Handies) oder nur den ersten Buchstaben gross zu schreiben (z.B. Shelob 1.0 als User-agent). Eine Betrachtung dieser Finessen ist angedacht und wird voraussichtlich in einem zukünftigen Beitrag diskutiert werden.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Fakultäten, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie wollen die Sicherheit Ihrer Firewall prüfen?

Unsere Spezialisten kontaktieren Sie gern!

×
Konkrete Kritik an CVSS4

Konkrete Kritik an CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentisierung

Voice Authentisierung

Marc Ruef

Bug-Bounty

Bug-Bounty

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv