HTTP-Header erwartete Grösse von GET-Requests

HTTP-Header erwartete Grösse von GET-Requests

Marc Ruef
by Marc Ruef
time to read: 5 minutes

Im Beitrag HTTP-Header erwartete Anzahl Zeilen haben wir diskutiert, welche Anzahl an Header-Zeilen in HTTP-Anfragen durch einen Webbrowser erwartet werden können. Diese statistische Auswertung ist von Wichtigkeit, wenn es darum geht, mittels Proxy und mod_security eine Hochsicherheitslösung zu schaffen.

Eine Betrachtung der gleichen Art fokussiert sich auf die erwartete Grösse der HTTP-Header, wie sie bei regulären GET-Anfragen beobachtet werden können. Auch hier liegen uns statistische Werte, die eine Ableitung zulassen, vor.

Insgesamt wurden die Header von 65’536 GET-Anfragen in einem Zeitraum von 4 Tagen protokolliert. Dies geschah auf computec.ch, wo mittels PHP ein Skript bei jedem Aufruf inkludiert wurde, welches die jeweiligen Header protokolliert hat. Als Basis wurde die entsprechende Funktion des browserrecon project verwendet.

Zuerst war es fragwürdig, ob und inwiefern doppelte Anfragen bzw. Anfragen gleicher Clients berücksichtigt werden sollten. Um ein möglichst realitätsnahes Abbild der Browserlandschaft darlegen zu können, wurde auf eine Bereinigung – diese hätte sowieso nur geringe Abweichungen aufgezeigt – verzichtet. Es wurden jedoch absichtlich offensichtliche Anfragen des reinen Zwecks eines Angriffs nach Möglichkeiten ausgeklammert (z.B. sehr lange Anfragen).

HTTP GET Header Anfragesequenzen

Die gezeigte Abbildung illustriert die Anfragesequenzen für die ersten 20’000 Anfragen. Hierbei ist sehr schön zu beobachten, wie längere Besuche, die mehrere Anfragen zur Folge haben, herauskristallisiert werden können. Dies ist anhand der horizontalen Verläufe auszumachen. Dabei fallen auch schon die typischen Wertbereiche ins Auge. Die minimale Header-Länge der beobachteten GET-Anfragen betrug 22 Bytes und die maximale beobachtete Länge betrug 1’679 Bytes. Als Durchschnittswert konnte 294.33 Bytes ausgemacht werden.

Länge Anzahl Prozent
1-100 1’020 1.56%
101-200 10’669 16.28%
201-300 26’730 40.79%
301-400 8’158 12.45%
401-500 15’607 23.81%
501-600 1’912 2.92%
601-700 927 1.41%
701-800 286 0.44%
801-900 31 0.05%
901-1000 7 0.01%

Die detaillierte Analyse der Grössenverteilung zeigt einzelne Spitzen auf, die auf populäre Implementierungen zurückzuführen sind. Sie ist in nachfolgender Grafik ersichtlich. Die höchste Anzahl von 16’016 Anfragen (24.44%) ist bei 201-210 auszumachen. Der zweithöchste Ausschlag findet sich mit 6’964 Anfragen (10.63%) bei 441-450 und der dritthöchste mit 4’543 Anfragen (6.93%) bei 251-260.

HTTP GET Header Grössenverteilung

Aufgrund der mehrfachen Ausschläge in verschiedenen Wertebereichen ist es nicht einfach, eine absolute Empfehlung auszusprechen. Man kann jedoch sagen, dass HTTP GET Header mit einer Grösse über 800 Bytes im Alltag nicht vorkommen, deshalb genau untersucht oder verworfen werden sollten. In den meisten Fällen werden sie für Auswertungen und Angriffe eingesetzt werden.

About the Author

Marc Ruef

Marc Ruef has been working in information security since the late 1990s. He is well-known for his many publications and books. The last one called The Art of Penetration Testing is discussing security testing in detail. He is a lecturer at several faculties, like ETH, HWZ, HSLU and IKF. (ORCID 0000-0002-1328-6357)

Links

You want to test the security of your firewall?

Our experts will get in contact with you!

×
Specific Criticism of CVSS4

Specific Criticism of CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentication

Voice Authentication

Marc Ruef

Bug Bounty

Bug Bounty

Marc Ruef

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here