Websicherheit: Server mit HTTP-Headern verwirren

Durch geschickt gewählte HTTP-Header ist es Sicherheitsforschern gelungen, zahlreiche Lücken bei Yahoo, beim Department of Defense und bei der British Telecom zu identifizieren.

Artikel veröffentlicht am , Hanno Böck
Mittels HTTP-Headern lassen sich oft Loadbalancer und Webserver austricksen.
Mittels HTTP-Headern lassen sich oft Loadbalancer und Webserver austricksen. (Bild: Rock1997, Wikimedia Commons/CC-BY-SA 4.0)

Zahlreiche Varianten von sogenannten Server-Side-Request-Forgery-Angriffen hat James Kettle von der Firma Portswigger auf der Black-Hat-Konferenz in Las Vegas gezeigt. Kettle setzte dabei vor allem darauf, mit geschickt gewählten HTTP-Headern Loadbalancer und Webserver zu verwirren.

Zunächst zeigte Kettle einige Angriffe, die darauf basieren, einen HTTP-Request an einen Server mit einem ungültigen Host-Header zu verschicken. Viele Systeme leiten entsprechende Anfragen einfach weiter, egal wohin sie gehen. Bei Yahoo gelang es so, Zugriff auf ein internes System zu erlangen. Im Host-Header wurde hierfür eine interne IP eingefügt.

Dieses System sprach offenbar kein HTTP, sondern ein einfaches, zeilenbasiertes Protokoll. Die Antwort dieses Systems wurde dabei auch zurückgeschickt. Ein HTTP-Request mit der normalerweise nicht existenten Help-Methode führte dazu, dass dieses System eine Hilfe ausgab. Bei dem System handelte es sich um einen Apache Traffic Server, eine Software zum Cachen von HTTP-Verbindungen. Kettle hätte mit dem Angriff Daten direkt in den internen HTTP-Cache von Yahoo schreiben können.

Ein anderes Yahoo-System antwortete ebenfalls auf fehlerhafte Host-Header, schrieb diese aber um. Ein Zugriff mit dem Host example.com wurde zu outage.example.com umgeschrieben. Durch Hostnamen, deren Subdomain outage zu internen Ips aufgelöst wurde, konnte Kettle hier ebenfalls auf interne Yahoo-Systeme zugreifen.

Britisches Zensursystem antwortet auf fehlerhafte Host-Header

Indem Kettle in den Host-Header ein von ihm selbst kontrolliertes System einfügte, konnte er herausfinden, welche Services eine solche Anfrage dorthin weiterleiten. Dabei fiel ihm etwas Ungewöhnliches auf: Zugriffe auf die Domain cloud.mail.ru, einen russischen Service, wurden von IPs der British Telecom beantwortet. Allerdings nur HTTP-Verbindungen, HTTPS-Verbindungen zeigten dieses Verhalten nicht. Das erschien mehr als ungewöhnlich.

Die Auflösung dieses Rätsels: Die Antwort erhielt Kettle vom Zensursystem der British Telecom. Dieses wurde ursprünglich im Rahmen des Projekts Cleanfeed eingerichtet, das zur Blockade von Bildern von Kindesmissbrauch eingeführt wurde. Doch inzwischen wird dasselbe System auch zum Blockieren von Urheberrechtsverletzungen genutzt.

Am Filter des DoD vorbei

Bei HTTP-Requests kann der Host auch bereits in der GET-Zeile angegeben werde, indem dort eine komplette URL übergeben wird. Ein System des US-amerikanischen Department of Defense ließ sich damit überlisten. Es filterte Anfragen auf diverse interne Domains, auf die von außen kein Zugriff möglich sein sollte. Doch als im Host-Header eine öffentlich zugängliche Domain angegeben und die interne Seite via GET abgefragt wurde, konnte der Filter ausgetrickst werden.

Auch URLs in anderen HTTP-Headern führten häufig dazu, dass die entsprechenden Server einen Zugriff auf diese Seiten durchführten. So gibt es laut Kettle eine Reihe von Servern, die auf den Referrer zugreifen.

Facebook ruft Stunden später URL aus uraltem WAP-Header ab

Doch auch obskurere Header testete Kettle aus: Ein Header namens X-Wap-Profile ermöglicht es, eine XML-Definition für die Darstellung von Webseiten auf alten Smartphones zu übergeben. WAP war ein Standard für sehr simple Webseiten für Feature-Phones und wird heute kaum noch genutzt. Facebook rief als einziger getesteter Service diese URL ab, allerdings erst viele Stunden später.

Konkrete Sicherheitslücken hat Kettle für diese weiteren Header nicht gefunden, er merkte aber an, dass XML-Parser und Headless-Browser wie PhantomJS, die für solche Zugriffe häufig genutzt werden, oft Sicherheitslücken haben.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
T-1000
Roboter aus Metall kann sich verflüssigen

Ein Team aus den USA und China hat einen Roboter entwickelt, der seinen Aggregatzustand von fest zu flüssig und zurück ändern kann.

T-1000: Roboter aus Metall kann sich verflüssigen
Artikel
  1. Apple: MacBook Pro braucht wegen Lieferproblemen nur kleine Kühler
    Apple
    MacBook Pro braucht wegen Lieferproblemen nur kleine Kühler

    In den neuen MacBook Pro mit M2 Pro und M2 Max sitzen kleinere Kühlkörper. Der Grund sind Probleme in der Lieferkette.

  2. Trotz Exportverbot: Chinesische Kernforscher nutzen weiter US-Hardware
    Trotz Exportverbot
    Chinesische Kernforscher nutzen weiter US-Hardware

    An Chinas wichtigstes Kernforschungszentrum darf seit 25 Jahren keine US-Hardware geliefert werden. Dennoch nutzt es halbwegs aktuelle Xeons und GPUs.

  3. Virtualisieren mit Windows, Teil 3: Betrieb und Pflege von VMs mit Hyper-V
    Virtualisieren mit Windows, Teil 3
    Betrieb und Pflege von VMs mit Hyper-V

    Hyper-V ist ein Hypervisor, um VMs effizient verwalten zu können. Trotz einiger weniger Schwächen ist es eine gute Virtualisierungssoftware, wir stellen sie in drei Teilen vor. Im letzten geht es um Betrieb und Pflege der VMs.
    Eine Anleitung von Holger Voges

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PCGH Cyber Week - Rabatte bis 50% • Acer Predator 32" WQHD 170Hz 529€ • MindStar-Tiefstpreise: MSI RTX 4090 1.982€, Sapphire RX 7900 XT 939€ • Philips Hue bis -50% • Asus Gaming-Laptops bis -25% • XFX Radeon RX 7900 XTX 1.199€ • Kingston 2TB 112,90€ • Nanoleaf bis -25% [Werbung]
    •  /