ASP-Scripte mögen kein Semikolon?
Donnerstag, 30. Oktober 2008, 15:28 Uhr | Autor: ich
Bei der Recherche zu SQL-Injections (de.wikipedia.org) bin ich gestern über einen sehr sonderbaren Bug gestolpert.
Wenn ein Script per URL Parameter übernimmt, so in der Form script.asp?id=xyz, so kann man unter schlechten Umständen Fehlermeldungen hervorrufen, wenn man an dem xyz etwas rumspielt.
Ich habe auch etwas rumgespielt und plötzlich wurden mir alle Dateien und Unterverzeichnisse in dem Hauptverzeichnis, in dem die index.asp liegt, angezeigt. Das Directory-Listing ist dort eingeschaltet, was per se noch keine schwerwiegende Sicherheitslücke darstellt, da üblicherweise der Server immer die index.asp ausführt und anzeigt. Aber in diesem Fall reichte es aus index.asp?; aufzurufen, um das Verzeichnis auflisten zu lassen.
Da ein Bug selten alleine kommt… In dem Verzeichnis fand ich u.a. auch ein Unterverzeichnis, welches offensichtlich die Administrationsscripte des CMS enthält und darin gibt es eine Datei die die User-Daten, inkl. Passwort im Klartext, dem Finder präsentiert. Also nicht nur dieser, mir bisher unbekannte Semikolon-Bug, sondern auch mal wieder kein Schutz der Scripte vor unberechtigtem Zugriff und Passworte im Klartext – eines meiner Lieblingsthemen – unverschlüsselte Passworte in Datenbanken.
Eben habe ich etwas gegoogelt – dabei stellte ich fest das man alleine durch ?; Fehlermeldungen provozieren kann und da kommt dann auch gerne der Hinweis zu der Tabelle in dem nichts gefunden werden konnte. Hat man einen Tabellennamen so kann man schon wieder weitere Fehlermeldungen provozieren, um noch mehr Informationen zu sammeln und um letztendlich evtl. auch das ganze System zu übernehmen.
Nicht das jemand nun glaubt ich würde auf ASP rumhacken, nur weil es von Microsoft ist. Solche Bugs findet man ganz sicher auch auf PHP- oder Java-Seiten, es gibt ja genügend Coder da draußen, die an die einfachsten Dinge nicht denken…






