Thomas Luethi: SQL-Injection mit PHP+MySQL: wie gefaehrlich?

Beitrag lesen

Hallo,

Die Moeglichkeit der SQL-Injection ist mir bekannt, und ich
wende deshalb in PHP auch mysql_escape_string() an u.s.w.

Was ich mich aber schon laenger frage:
Inwiefern ist dieses Beispiel heute noch praxisrelevant?

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.
(Konkret: PHP 4.3.x, MySQL 3.23.x)
Oder habe ich da etwas falsch im Kopf?

So richtig gefaehrlich wird es IMHO doch erst,
wenn man Angaben von der Benutzerseite
direkt in DELETE-Statements einbaut.

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...

mfg
Thomas