James Kettle von der Firma Portswigger hat auf der Black-Hat-Konferenz in Las Vegas unter dem Titel „Targeting HTTP’s Hidden Attack-Surface“ zahlreiche Varianten von sogenannten Server-Side-Request-Forgery-Angriffen (SSRF) gezeigt.
Der Sicherheitsforscher setzte dabei vor allem darauf, mit intelligent gewählten HTTP-Headern Webserver und Loadbalancer durcheinander zu bringen.
SSRF-Angriffe in der Praxis
Kettle demonstrierte einige Angriffe, die darauf basieren, an einen Server einen HTTP-Request mit ungültigem Host-Header zu abzusenden. Viele Systeme leiten solche Anfragen einfach nur weiter, ganz egal, wohin sie gehen. Bei Yahoo gelang es zum Beispiel auf diese Weise, Zugriff auf ein internes System zu erlangen. Im Host-Header wurde dazu einfach eine interne IP eingefügt.
Das Yahoo-System sprach offenbar nicht HTTP, sondern ein einfaches, zeilenorientiertes Protokoll. Dabei wurde die Antwort dieses Systems auch zurückgeschickt. So führte ein HTTP-Request mit der normalerweise nicht existenten Help-Methode dazu, dass das System, bei dem es sich um einen Apache Traffic Server und eine Software zum Cachen von HTTP-Verbindungen handelte, eine Hilfe ausgab. Mit seinem Angriff hätte Kettle Daten direkt in den internen HTTP-Cache von Yahoo schreiben können…
Britisches Zensursystem antwortet auf Header
Bei einem von ihm selbst kontrollierten Server bekam Kettle Antworten, allerdings nur bei HTTP- und nicht bei HTPS-Verbindungen. Die Antwort kam allerdings nicht von seinem eigenen System, sondern von dem britischen Zensursystem, das früher mal Bilder zum Kindesmissbrauch blockieren sollte und inzwischen hauptsächlich für die Verfolgung von Copyright-Verstößen benutzt wird.
Für Webworker mit Verantwortung für Internetserver könnte es eine gute Idee sein, einmal zu testen, wie die eigenen Server auf solche Header reagieren.