Abo
  • Services:
Anzeige
Böses Zusammenspiel von Umgebungsvariablen, dem CGI-Standard und HTTP-Proxies.
Böses Zusammenspiel von Umgebungsvariablen, dem CGI-Standard und HTTP-Proxies. (Bild: Nicola Horlor/CC0 1.0)

HTTPOXY: Gefährliche Proxy-Variablen

Böses Zusammenspiel von Umgebungsvariablen, dem CGI-Standard und HTTP-Proxies.
Böses Zusammenspiel von Umgebungsvariablen, dem CGI-Standard und HTTP-Proxies. (Bild: Nicola Horlor/CC0 1.0)

Eine Sicherheitslücke im Zusammenspiel von CGI und der Variable HTTP_PROXY ermöglicht es Angreifern bis heute, HTTP-Anfragen von Webanwendungen umzuleiten. Dabei ist die Lücke uralt: Bereits 2001 implementierten einige Softwareprojekte Gegenmaßnahmen.

Durch das trickreiche Zusammenspiel einer Eigenschaft des CGI-Standards und der Konfiguration von Proxy-Servern über Umgebungsvariablen entsteht eine problematische Sicherheitslücke. Entwickler des Zahlungsdienstleisters Vend stießen auf dieses Problem in der PHP-Bibliothek Guzzle - sie mussten jedoch feststellen, dass es auch in vielen anderen Anwendungen auftreten kann und bereits 2001 an einigen Stellen behoben wurde. Die Lücke bekam von ihren erneuten Entdeckern den Namen HTTPOXY.

Anzeige

Headerinhalte in Variablen mit Prefix HTTP_

Der CGI-Standard sieht vor, dass ein Webserver den Inhalt von Headern, die der Client mit dem HTTP-Request schickt, in Umgebungsvariablen ablegt. Diese werden mit dem Prefix HTTP_ und dem Namen des Headers in Großbuchstaben bezeichnet. Schickt ein Client beispielsweise einen Header Foo: Bar, dann ist im CGI-Prozess anschließend die Variable HTTP_FOO auf den Wert Bar gesetzt.

Viele Programme nutzen die Variable HTTP_PROXY, um über sie einen Proxyserver zu konfigurieren. Hier tritt nun das Problem auf: Ein Angreifer kann schlicht einen Request mit dem Header Proxy: schicken und dort seinen eigenen Proxyserver hinterlegen. Wenn die Webanwendung nun einen HTTP-Request ausführt, der die HTTP_PROXY-Variable berücksichtigt, wird dieser Request über den Proxyserver des Angreifers geleitet. Dieser kann dann nach Belieben eigene Daten zurückliefern oder auch möglicherweise Zugangsdaten für APIs abgreifen.

Erste Erwähnung der Lücke 2001

Die älteste Erwähnung dieser Lücke erfolgte mit der Veröffentlichung einer neuen Version der Bibliothek libwww-perl im Jahr 2001. Die Entwickler dieser Bibliothek erkannten das Problem und änderten daraufhin den Variablennamen, mit dem der HTTP-Proxy gesteuert werden kann, auf CGI_HTTP_PROXY. Im selben Jahr wurde das Problem auch in Curl entdeckt, dort behalf man sich, indem man die Variable nur noch in Kleinschreibung - also geschrieben "http_proxy" - akzeptierte. 2012 wurde auch in Ruby ein Workaround für das Problem eingeführt.

Bemerkenswert: Obwohl die selbe Lücke in drei verschiedenen Anwendungen entdeckt und behoben wurde, erkannte offenbar niemand das Ausmaß. Denn das Problem ist ein grundsätzliches. Alle über CGI ausgeführten Webanwendungen, die ihrerseits für HTTP-Requests Bibliotheken oder Programme nutzen, welche die Standardvariable HTTP_PROXY unterstützen, sind verwundbar. Konkret beschreiben die HTTPOXY-Entdecker Konstellationen in PHP, Python und Go, in denen die Lücke auftreten kann.

HTTPS hilft

Einen gewissen Schutz vor der Lücke bietet der konsequente Einsatz von HTTPS. Wird von einer Webanwendung ein Request an eine HTTPS-Adresse geschickt, kann ein Angreifer diese zwar möglicherweise ebenfalls über seinen Proxy leiten, aber mitlesen oder manipulieren ist dann nicht möglich. Voraussetzung dafür ist allerdings, dass das HTTPS-Zertifikat korrekt geprüft wird.

Als schnelle Abhilfe empfehlen die Entdecker der Lücke, den Proxy-Header im Webserver zu filtern oder entsprechende Requests nicht zu beantworten. Entsprechende Konfigurationsoptionen für die gängigsten Webserver sind auf der HTTPOXY-Seite aufgeführt. Da dieser Header nirgendwo legitim eingesetzt wird, sollten dadurch keine Probleme auftreten.


eye home zur Startseite
hackie 19. Jul 2016

Hast recht. Das Zertifikat muss natürlich noch immer den korrekten Namen tragen, das kam...

v2nc 19. Jul 2016

Glaube nicht dass dein Windows da irgendwas mit zu tun hat ;)



Anzeige

Stellenmarkt
  1. Zurich Gruppe Deutschland, Köln
  2. Finanz Informatik GmbH & Co. KG, Frankfurt am Main, Münster
  3. Robert Bosch GmbH, Bühl
  4. HOHENFRIED e.V., Bayerisch Gmain


Anzeige
Hardware-Angebote
  1. und doppelten Cashback von 150 € bis 1.000 € sichern
  2. (reduzierte Überstände, Restposten & Co.)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Potenzialanalyse für eine effiziente DMS- und ECM-Strategie
  2. Mit digitalen Workflows Geschäftsprozesse agiler machen
  3. Globale SAP-Anwendungsunterstützung durch Outsourcing


  1. Smartphones und Tablets

    Bundestrojaner soll mehr können können

  2. Internetsicherheit

    Die CDU will Cybersouverän werden

  3. 3D-Flash-Speicher

    Micron stellt erweiterte Fab 10X fertig

  4. Occipital

    VR Dev Kit ermöglicht Roomscale-Tracking per iPhone

  5. XPG SX8000

    Adatas erste PCIe-NVMe-SSD nutzt bewährte Komponenten

  6. UBBF2016

    Telefónica will 2G-Netz in vielen Ländern abschalten

  7. Mögliche Übernahme

    Qualcomm interessiert sich für NXP Semiconductors

  8. Huawei

    Vectoring erreicht bald 250 MBit/s in Deutschland

  9. Kaufberatung

    Das richtige Solid-State-Drive

  10. Android-Smartphone

    Huawei bringt Nova Plus doch nach Deutschland



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Swift Playgrounds im Test: Apple infiziert Kinder mit Programmiertalent
Swift Playgrounds im Test
Apple infiziert Kinder mit Programmiertalent
  1. Asus PG248Q im Test 180 Hertz erkannt, 180 Hertz gebannt

MacOS 10.12 im Test: Sierra - Schreck mit System
MacOS 10.12 im Test
Sierra - Schreck mit System
  1. MacOS 10.12 Sierra fungiert als alleiniges Sicherheitsupdate für OS X
  2. MacOS Sierra und iOS 10 Apple schmeißt unsichere Krypto raus
  3. Kaspersky Neue Malware installiert Hintertüren auf Macs

Android 7.0 im Test: Zwei Fenster für mehr Durchblick
Android 7.0 im Test
Zwei Fenster für mehr Durchblick
  1. Android-X86 Desktop-Port von Android 7.0 vorgestellt
  2. Android 7.0 Erste Nougat-Portierung für Nexus 4 verfügbar
  3. Android 7.0 Erste Nougat-Portierungen für Nexus 5 und Nexus 7 verfügbar

  1. Re: Günstig? 15 Euro pro Monat für Mobile und HD...

    thorben | 20:27

  2. 2.5/5GBASE-T wird kaum viel billiger als 10GBASE-T

    NilsP | 20:27

  3. Re: endlich wird's den deutschen autobauern mal...

    Ach | 20:26

  4. Re: Bei wenig RAM von SSDs abraten??

    honna1612 | 20:24

  5. So eine Verschwendung von Steuergeldern

    derdiedas | 20:16


  1. 19:24

  2. 19:05

  3. 18:25

  4. 17:29

  5. 14:07

  6. 13:45

  7. 13:18

  8. 12:42


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel