Was ist SQL-Injection? - ECS

Werbung
Was ist SQL-Injection?
SQL Server injection ist eine Technik, die Schwachstellen in Ihrer Datenbankabfrage
ausnützt, um die SQL-Abfrage anderweitig zu gestalten.
Beispiel:
SQL = "SELECT * FROM kunden WHERE nachname = '" & Request("nachname") &
"';"
Wenn Sie die Variable nachname eingeben als: '; DELETE TABLE xxxx; -- dann wird
folgender SQL-Befehl erzeugt:
SELECT * FROM kunden WHERE nachname = ''; DELETE TABLE xxxx; --';
= Damit wird die Tabelle xxxx gelöscht!
Wenn Sie als nachname eingeben ' OR 1=1 -- erhalten Sie folgendes:
SELECT * FROM kunden WHERE nachname = '' OR 1=1 --';
= Es werden alle Datensätze aus der Tabelle kunden ausgegeben.
Wenn Sie daher Datenbankabfragen in Ihrer Homepage verwenden, dann wäre es
ratsam, die Eingaben in Zukunft vor Manipulation zu schützen!
Man könnte z.B.
- Hochkomma oder Anführungszeichen aus der SQL-Eingabe entfernen:
nachname = replace(nachname,chr(34),"")
' " entfernen
nachname = replace(nachname,"'","")
' ' entfernen
Oder wenn diese doch vorkommen müssen, dann zumindest:
'Wenn 1. Zeichen ein ', dann abschneiden:
if left(nachname,1) = "'" or left(nachname,1) = chr(34) then nachname =
mid(nachname,2)
- SQL-Befehle entfernen:
nachname = replace(nachname,INSERT,"")
' SQL Befehl INSERT entfernen
Was ist SQL-Injection?
ECS-Webhosting Support
http://support.ecs-webhosting.de/FragenundAntworten/Was-ist-SQLInjection
Herunterladen