CGI Security / Sichere CGI-Skripten - Eine Einführung
Wolfgang Wiese (www.xwolf.de, xwolf@xwolf.de), April 2000[1. Allgemeines] [2. Klassifikation von CGI-Programmen] [3. Analyse fremder Programme] [4. Analyse lokaler Programme] [5. Referenzen]
1. Allgemeines
Die Programmierung von CGI-Skripten und -Programmen ist im Prinzip nicht
schwerer als die von ganz normalen Programmen, die nicht das Common Gateway Interface
benutzen. So ist die Wahl der Programmiersprache in der Regel nicht eingeschränkt
(sieht man von den Einschränkungen bzgl. dem Betriebssystem und/oder den Provider
ab) und wenn man nur etwas im Internet sucht, findet man zu quasi jeder Sprache
Beispiele und Ressourcen.
Lange Zeit war die CGI-Programmierung die Aufgabe von wenigen
Webmastern oder Systemadministratoren. Die Provider ließen in der Regel
keine Benutzereigenen Skripten auf Ihren Server zu und wenn, dann gegen entsprechenden
Aufpreis.
Heutzutage jedoch ist die Situation grundlegend verändert: Ein CGI-Verzeichnis
gehört zum Standard von fast jedem kommerziellen Webspace-Angebot und die
Zahl der Skript-Archive im Netz nimmt immer weiter zu.
Hiermit verbunden ist die Entwicklung, daß immer mehr Skripten auftauchen,
welche zum Teil grobe Sicherheitslöcher haben. Dies nicht nur bei den
kostenlosen, sondern auch bei den kommerziellen Skripten. Das Bulletin Board System
der Infopop Corp. welches im März 2000 in der
Security-Mailingliste BugTraq zu
trauriger Berühmtheit gelangte, ist nur ein Beispiel von vielen.
Dabei ist das Sicherheitsloch im UBB auch aus anderer Sicht ein interessantes Beispiel:
Es zeigt auf, wie leicht viele Leute sich im Netz durch bekannte Namen oder große Dienste
einlullen lassen; Selbst wenn der Code als Open Source vorliegt, schauen kaum Leute
rein und prüfen diesen. So wurde ein Umfrageskript, welches auf dem bekannten
CGI-Archiv The CGI Resource Index
lag, über 750 mal von unterschiedlichen Personen im Ranking bewertet, aber nicht
einer bemerkte das Sicherheitsloch, welches Hackern Tür und Tor öffnete.
In den meisten Fällen beruhen die Sicherheitslöcher auf folgende Aspekte:
- Unsaubere Programmierung,
- Unkenntnis der Sicherheitsprobleme,
- eine 'lachse' Grundhaltung ("Wer sollte schon bei mir einhacken?"),
- Geldgier von Archiv-Betreibern (Die große Anzahl der Skripten zählt. Alles andere ist unwichtig).
Was benötigt wird, ist eine Sensibilisierung der Webmaster und Sitebetreiber,
die solche Skripten einsetzen in Bezug auf Sicherheitsaspekte.
Dies erfordert aber auch eine Möglichkeit zur Einteilung der Sicherheitsaspekte,
derren Gründe und Folgen.
Auf der folgenden Seite werden wir eine solche Einteilung vornehmen. Danach gehen wir anhand der
Programmiersprache Perl ins Detail und zeigen anhand von Beispielen die typischen
Fehler und Probleme.
[1. Allgemeines] [2. Klassifikation von CGI-Programmen] [3. Analyse fremder Programme] [4. Analyse lokaler Programme] [5. Referenzen]
Info
$Id: cgisec.shtml,v 1.3 2004/03/08 22:09:09 xwolf Exp $
© 1996 - 2004 by xwolf -
xwolf ist eingetragene Marke beim Deutschen Patent- und Markenamt (Nr. 301 04 380)


