Die Auswirkung der Apache-Konfiguration auf die Sicherheit der Webanwendung
Kommentare

Kommen wir nun zu einem Angriff, der erst vor kurzem vorgestellt wurde, aber einen altbekannten Fehler ausnutzt.
HTExploit umgeht .htaccess-Zugriffsbeschränkungen
Maximiliano Soler und Matias Katz haben

Kommen wir nun zu einem Angriff, der erst vor kurzem vorgestellt wurde, aber einen altbekannten Fehler ausnutzt.

HTExploit umgeht .htaccess-Zugriffsbeschränkungen

Maximiliano Soler und Matias Katz haben am 25. Juli auf der Sicherheitskonferenz Black Hat USA 2012 das Tool HTExploit (HiperText access Exploit) vorgestellt, mit dem sich Zugriffsbeschränkungen der .htaccess-Konfigurationsdatei umgehen lassen [12], [13].

Wenn ein Verzeichnis über eine .htaccess-Datei vor unbefugten Zugriffen geschützt wird, wird dabei meist der einfachste Weg gewählt: Der Schutz durch die Basic- oder Digest-Authentication wird entsprechend irgendeiner Anleitung aus dem Web eingerichtet. Das funktioniert augenscheinlich, sodass weitergehende Sicherheitsüberlegungen überflüssig erscheinen und auf eine weitere Konfiguration verzichtet wird. Insbesondere werden oft nur die bekannten bzw. üblichen HTTP-Methoden berücksichtigt. Dabei ist es eigentlich ein altbekanntes Problem, dass auch alle anderen Methoden berücksichtigt werden müssen, um keine Sicherheitslücke zu hinterlassen. Das wurde z. B. im Apache Week Newsletter 81 vom 5. September 1997 beschrieben [14].

Altbekannte Probleme

Es gibt mehrere mögliche Konfigurationsfehler im Bereich der Authentifizierung. Hier von besonderem Interesse sind:

Limitierte Zugriffsbeschränkungen: Die Regeln für die Zugriffsbeschränkung für ein Verzeichnis könnten z. B. so aussehen wie in Listing 4. Viele Vorschläge im Web folgen leider noch diesem Muster.

Listing 4: Zugriffsbeschränkung mit Limit
AuthName "Administrationsbreich"
AuthType Basic
AuthUserFile /pfad/zu/.htpasswd


  require valid-user

Durch die -Sektion gilt die Zugriffsbeschränkung nur für die darin angegebenen Methoden, hier GET und POST. Über alle anderen Methoden wie z. B. PUT darf auf das so geschützte Verzeichnis zugegriffen werden. Um einen allgemein gültigen Schutz zu erhalten, müssen nur die – und -Zeilen entfernt werden, dann gilt die Zugriffsbeschränkung für alle Methoden.
Ich vermute, irgendwann hat irgendjemand das Gerücht in die Welt gesetzt, dass man über -Verzeichnisse schützt (was halbwegs plausibel klingt, da über der Zugriff auf einzelne Dateien oder Dateigruppen reguliert wird). Jedenfalls habe ich diese Aussage des Öfteren in Anleitungen gelesen. Und diese Fehlinformation hat sich so tief im kollektiven Gedächtnis des Web (mit anderen Worten: den Suchmaschinen) festgesetzt, dass es immer wieder falsch weitergegeben wird. Wenn die richtige Funktion von angegeben wird, dann meist mit der Behauptung, es reiche, hier GET und evtl. auch noch POST einzutragen. Dass es weitere Methoden gibt, dürfte den Autoren der meisten Anleitungen unbekannt oder egal sein.

HTExploit in Aktion

HTExploit ist in der Lage, diese Fehlkonfiguration auszunutzen, und wie so oft, wenn ein neues Tool veröffentlicht wird, gibt es Leute, die das erst einmal ausprobieren müssen. Sicherheitshalber natürlich nicht am eigenen Server oder einem Testsystem, sondern im Internet und auf wildfremden Servern. Was kann passieren? Dazu müssen wir uns erst mal ansehen, wie HTExploit funktioniert. Zum Test wurde auf einem Server ein Verzeichnis angelegt und über die Basic Authentication geschützt. Im Verzeichnis gibt es vier Dateien: index.html, index.php, test.inc und test.inc.php. Die Inhalte der Dateien sehen Sie in Listing 5.

Listing 5: Die Inhalte der Testdateien

index.html:

  
    Testseite

Testseite

Hier gibt es nichts zu sehen...

index.php:


test.inc/test.inc.php:



Wie schon bei der Demonstration der TRACE-Methode in Listing 3, kann man auch diesen Angriff über Telnet simulieren. Ein Blick in den Quelltext des Skripts Conn.py verrät uns, dass als Methode POTATO verwendet wird. Was passiert also, wenn mit der Methode POTATO auf die vier Dateien zugegriffen wird?


Themen der folgenden Seiten:

  • Zugriff auf index.php mit der Methode GET
  • Zugriff auf index.php mit der Methode POTATO
  • Request-Methoden für CGI-Skripte
  • Zugriffsbeschränkungen auf Basis des Hostnames
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -