david: SQL Code-Einschleusung

Beitrag lesen

aus dem php handbuch

...

$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// Wir haben $_POST['password'] nicht überprüft, könnte alles mögliche enthalten
// was ein User will. Zum Beispiel:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR 1=1";

// Die gesendete Anfrage an MySQL würde sein:
echo $query;
?>

Gesendete Anfrage an MySQL:

SELECT * FROM users WHERE name='aidan' AND password='' OR 1=1

so, ich versteh zwar das prinzip hinter der code einschleußung
aber ich check noch die "stringgeschichte" noch nicht ganz.

1)$_POST['password'] = "' OR 1=1";

2)$_POST['password'] = '' OR 1=1';
so geht die eischleußung nicht

beim ersten mal wird also ein passwort zu einem code schnipsel gemacht, beim 2ten mal also sprich würde die variable also so heissen
' OR 1=1' was dem hacker nix bringen würde.
oder?

hab ich das richtig verstanden
danke