next up previous contents
Next: Benutzerauthentifizierung über POST-Methode Up: Sicherheitsaspekte Previous: Sicherheitsaspekte

Validierung der Benutzereingabe

Führt ein CGI-Skript die Benutzereingabe oder Teile davon direkt aus oder werden sie an Kommandos übergeben, können dadurch Sicherheitslücken entstehen, die durch potentielle Angreifer ausgenutzt werden könnten. Angenommen, das CGI-Skript greift auf entfernte Server zu und führt dort bestimmte Aktionen aus. Damit das Skript weiß, auf welchen Rechner es zugreifen soll, gibt der Bentuzer der Anwendung den Rechnernamen an. Nehmen wir weiter an, daß der vom Benutzer eingegebene Rechnername beispielsweise an das Kommando
ping rechnername
übergeben wird, was eigentlich nicht weiter von Bedeutung ist. Gibt nun ein Benutzer in das dafür vorgesehene Feld im Eingabeformular mehr als nur den Rechnernamen ein, wie beispielsweise
eigener.rechnername.domäne.de ; echo >> /.rhosts ``+ +``,
und wird die Benutzereingabe ungeprüft an das Kommando ping übergeben, ist dadurch eine Sicherheitslücke im System entstanden, die es jedem Angreifer ermöglicht, in das eigene System einzudringen.

Um sich davor zu schützen, sollten CGI-Skripten niemals unter der Kennung root laufen. Sie könnten beispielsweise unter der Kennung nobody oder unter einer eigenen, eigens für die CGI-Umgebung eingerichteten Kennung laufen, mit der dem System kein Schaden zugefügt werden kann. Außerdem sollte es vermieden werden, Benutzereingaben ungeprüft an Kommandos wie beispielsweise system() oder popen() in C zu übergeben.


next up previous contents
Next: Benutzerauthentifizierung über POST-Methode Up: Sicherheitsaspekte Previous: Sicherheitsaspekte
Root on HPHEGER0
8/27/1998