Thread Aufgabenstellung: Eingabe von Zahlen! (9 answers)
Opened by Gast at 2005-01-24 19:24

Dubu
 2005-01-27 15:31
#51249 #51249
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=FC,27.01.2005, 02:00]
Quote
Wenn man programmiert muss man mit allen "Gemeinheiten" der User rechnen ;)

na jo .. das Script steuert nicht die die Startsequenz für eine atomare Langstreckenrakete[/quote]
Mit solchen Aussagen sollte man vorsichtig sein, denn was heute noch ein schneller Hack ist, wird morgen auf einmal in einer unternehmenskritischen Anwendung eingesetzt. ;)

Ein recht haeufiges Szenario: Es gibt ein Problem, das sich gut mit einem kleinen, schnell nebenbei gestrickten Perl-Programm loesen laesst, das im Kontext des jeweiligen Benutzers ausgefuehrt wird. Auf eine Ueberpruefung der Benutzereingaben gegen alle moeglichen Werte wird nicht sonderlich geachtet: Wer das Programm benutzt, schadet sich ja hoechstens selber, wenn er Unsinn eingibt.

Einige Zeit spaeter soll die Funktion dieses Programm ueber ein Webinterface zur Verfuegung gestellt werden. Jemand strickt ein CGI-Interface fuer das Programm, es wird auf dem Webserver installiert und ab da koennen es alle remote bedienen. Kurz danach wird der Webserver gehackt und wichtige Daten geloescht. Grund: Niemand hat daran gedacht, dass das Programm jetzt in einem anderen Kontext laeuft als der Webbrowser des Benutzers, der es aufgerufen hat.

Konkretes Beispiel: Ein system()-Aufruf in einem normalen Perlskript (ohne suid-Rechte o.ae.) ist nicht kritisch, wenn das Skript von der Kommandozeile aufgerufen wird, da der Benutzer alles, was er mit system() machen kann, auch gleich auf der Kommandozeile eingeben koennte. Wird das Skript aber im CGI-Kontext benutzt, dann kann ein unsicherer system()-Aufruf dem Benutzer einen Shellzugriff auf den Webserver geben, den er sonst nicht haette.

View full thread Aufgabenstellung: Eingabe von Zahlen!