G 5.172 Umgehung der Autorisierung bei Webanwendungen
Wenn ein Benutzer sich ordnungsgemäß an einer Webanwendung angemeldet hat, so hat er (in Abhängigkeit von der ihm zugewiesenen Rolle) nicht zwangsläufig Zugriff auf alle Funktionen der Webanwendung. Daher muss die Webanwendung nach erfolgreicher Authentisierung des Benutzers für einzelne Funktionen verifizieren, ob der angemeldete Benutzer für die Ausführung berechtigt ist (Autorisierung).
Bei Angriffen gegen die Autorisierungskomponente einer Webanwendung wird versucht, auf Funktionen oder Daten zuzugreifen, die eigentlich nur einer eingeschränkten Benutzergruppe zur Verfügung stehen. Ist die Autorisierung der Zugriffe durch die Webanwendung fehlerhaft umgesetzt, kann ein Angreifer seine Berechtigungen erweitern und Zugriff auf geschützte Bereiche und Daten der Webanwendung erhalten. Dies geschieht üblicherweise durch gezielte manipulierte Eingaben eines Angreifers.
Denkbare Angriffsziele sind z. B. Konfigurationsdateien mit fest kodierten Zugangsdaten für Hintergrundsysteme, geschützte Bereiche oder Funktionen der Webanwendung.
Im Folgenden werden mögliche Schwachstellen bei der Autorisierung von Zugriffen auf Web-Ressourcen aufgeführt.
Beispiele:
- Das sogenannte Null-Byte (in der URL -Kodierung %00) wird von der Filterkomponente der Webanwendung und den Hintergrundsystemen unterschiedlich interpretiert. So wird die Zeichenkette malware.exe%00.jpg als Dateiname von der Filterkomponente der Webanwendung mit der erlaubten Dateiendung .jpg für Bilder akzeptiert. Dagegen legt das Betriebssystem eine Datei mit dem Dateinamen malware.exe, da es das Null-Byte sowie die nachfolgenden Zeichen als nicht zum Dateinamen zugehörig ansieht. Auf diese Weise können Beschränkungen auf bestimmte Dateitypen von Angreifern umgangen werden, um beispielsweise Schadsoftware auf der Webanwendung zu platzieren.
- Bei der Eingabe von Pfadangaben können über einen relativen Bezug (durch sogenanntes Path Traversal) nicht für den Zugriff über die Webanwendung vorgesehene Ressourcen abgerufen werden (z. B. ../../../config.xml). Hierdurch können unbefugt schützenswerte Dateien wie Konfigurationsdateien aus dem Dateisystem heruntergeladen oder auch überschrieben werden. Über relative Pfadangaben lassen sich nicht nur Dateien der Webanwendung erreichen, sondern es können unter Umständen ebenso Ressourcen des darunter liegenden IT-Systems abgerufen werden.
- Webanwendungen verwenden häufig Objekt-Referenzen zur Adressierung einer Ressource in Hintergrundsystemen (z. B. http://host.tld/get.php?id=2). So können Ressourcen wie Inhalte zur Darstellung einer Webseite einem Datenbankeintrag zugeordnet werden. Werden Objekt-Referenzen von der Autorisierungskomponente nicht berücksichtigt, kann über eine Manipulation der Referenz id in der URL gegebenenfalls auf vertrauenswürdige Ressourcen zugegriffen werden.
- Eine manchmal genutzte Möglichkeit Informationen einer Webanwendung zu schützen besteht darin, die URL, die diese Informationen verlinkt, nur autorisierten Benutzer anzuzeigen. Unautorisierten Benutzer ist die URL nicht bekannt. Ein Angreifer kann durch systematisches Ausprobieren versuchen, die URL zu erraten und so Zugriff auf geschützte Informationen bzw. Funktionen der Webanwendung zu erhalten. Dieser Angriff wird "Forced Browsing" genannt.