Die Angriffsform der SQL-Injection bezeichnet das Ausntzen einer Sicherheitslcke in Verbindung mit einer SQL-Datenbank. Diese Angriffsmethode kann zustande kommen, wenn eine Datenbankabfrage gemacht wird, welche Variablen beinhaltet, welche nicht geprft bzw. die Funktionszeichen zu maskieren wurden.

Eine SQL-Injection funktioniert generell ber eine Usereingabe (Formulare, Uploads oder auch Cookies und Browsernamen), welche Befehle beinhaltet. Das Wichtigste fr den Angreifer ist es, die Datenbankabfrage zu erraten. In der Regel probiert der Angreifer Eingaben eines Anfhrungszeichens oder eines MySQL-Befehls aus. Die meisten Webanwendungen liefern bei einer ungesicherten Datenbankabfrage eine MySQL Fehlermeldung zurck. In dieser ist meistens die genaue Abfrage enthalten. Falls der Angreifer diese Abfrage in die Hnde bekommt, hat er in den meisten Fllen schon gewonnen.

Die Gefahren einer SQL-Injection werden meistens unterschtzt. Durch die Manipulation von Eingaben knnen Logins ohne Passwort umgangen werden, Adminaccounts angelegt werden oder Datenstze ausgelesen oder gelscht werden. (genauere Informationen finden Sie in den weiterfhrenden Links). Meistens fallen OpenSource Projekte einer SQL-Injection zum Opfer, da bei diesen Webanwendungen der Quelltext fr Jeden zugnglich ist und daher auch gezielt nach mglichen SQL-Injections gesucht werden kann.

Der beste Schutz gegen eine SQL-injection ist noch immer eine genaue Eingabeberprfung. Das Problem hierbei ist, dass viele unerfahrene Programmierer nichts ber eine SQL-Injection wissen oder Variablen nicht genau definieren bzw. prfen. Durch eine unsichere Datenbankabfrage einer Erweiterung im Forum kann der Angreifer schon Passwrter auslesen und sich Zugriff verschaffen.

[b]weiterfhrende Links:[/b][list]
[*] Wikipedia: [url=http://de.wikipedia.org/wiki/SQL_Injection]SQL-Injection[/url][/list]