SQL Injection
Meist werden die Eingaben, die in Webformularen verarbeitet werden in SQL Befehlen abgearbeitet. Sucht man z.B. in einer Adressdatenbank nach dem Namen Müller, kann das ungefähr so aussehen:
SELECT name, adresse, telefon FROM addresses WHERE name = 'Müller';
Was aber, wenn ein Benutzer statt Müller etwas in der Art eingibt:
'; DELETE FROM addresses; --
Dann sieht der resultierende SQL Befehl so aus:
SELECT name, adresse, telefon FROM addresses WHERE name = ''; DELETE FROM addresses; --';
Durch das Anführungszeichen ganz vorne wird zunächst sichergestellt, dass der Befehl syntaktisch ok ist. Mit dem Semikolon wird der eigentliche Befehl abgeschlossen und ein zweiter wird hinten angehängt. Im Beispiel löscht er die ganze Tabelle.
Bessere Beispiele sind im folgenden Artikel zu finden:
http://www.codeproject.com/cs/database/SqlInjectionAttacks.asp