Raketenwilli: Kurze Antwort: Ja!

Beitrag lesen

Gegeben: $_POST["username"] und $_POST["passwort"]

...solange ich diese nicht z.B. in einer Datenbank abspeichere,

Nun, das Passwort wirst Du ja hoffentlich durch die Password-Funktionen jagen. Aber der Benutzername? Der steht häufig mit dem Hash des Passworts in der Datenbank…

Aus

SELECT `pw_hash` FROM `shadow` WHERE username='$_POST["username"]';

kann bei der Ersetzung ganz fix ...

SELECT `pw_hash` FROM `shadow` WHERE username='';UPDATE shadow SET `pw_hash`='$2y$10$V2yZerKdNLhJiExdhBsQyuD3CcQwiUqelw6EnPlmj4oYM5OMBJoHC';

... werden.

Dazu muss nur

';UPDATE shadow SET `pw_hash`='$2y$10$V2yZerKdNLhJiExdhBsQyuD3CcQwiUqelw6EnPlmj4oYM5OMBJoHC

als „Passwort“ übermittelt werden - und schon hat jeder Nutzer "hallo" als Passwort". (Bevor jemand damit kommt: Konkret ist nochwas nötig…)

"Angefangen" hat alles mit der Überlegung, was wohl passieren würde, wenn ich ein Passwort, das "&<>", etc. enthält, durch htmlspecialchars, filter_var, etc. jage, da dieses ja dann mit &lt; etc. verfälscht würde.

Du willst das bitte richtig filtern. Es kommt auf den Kontext an, in welchen gewechselt wird!