Christian Kruse: SQL-Injection mit PHP+MySQL: wie gefaehrlich?

Beitrag lesen

Hallo Thomas,

AFAIK wuerde bei einem solchen String:

"SELECT * FROM blahr WHERE y = "x"; delete * from geheim where "a" = "a";

der von PHP an MySQL uebergeben wird, doch (wenn ueberhaupt)
nur das erste Statement, also der SELECT-Teil, von MySQL
ausgefuehrt.

Für MySQL mag das stimmen, aber nicht unbedingt für andere DBMS. Ist mir
übrigens neu, dass das nicht mehr geht.

Benutzer-Eingabe: x, vorgesehen:
DELETE FROM blahr WHERE y="x"
boese Eingabe/SQL-Injection ohne Pruefung fuehrt zu:
DELETE FROM blahr WHERE y="x" OR "1"="1"
Dann ist die ganze Tabelle geloescht...

Ein besseres Beispiel im MySQL-Kontext, ja.

Grüße,
 CK

--
Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.