Sven Rautenberg: PHP/jQuery: übergebene Variablen werden scheinbar ignoriert

Beitrag lesen

Moin!


Datei "Parameter.php"

Egal was du da sonst so tust, hier fehlt es an kontextgerechtem Escaping!

[5]      echo $Parameter[$i] . ' = ' . $_POST[$Parameter[$i]] . ';';

Da ich annehme, dass dieses Skript dir die Werte von PHP nach Javascript transportieren soll, hast du dir hier eine sehr schöne Javascript-Injection-Lücke gebaut, die man wunderbar ausnutzen kann.

json_encode() ist eine Funktion, die dir das Escaping im Javascript-Kontext abnimmt und freundlicherweise sogar korrekt Stringbegrenzer mit ausgibt, wenn du einen String vorliegen hast - das musst du nicht mal selbst machen.

Bleibt am Ende nur noch, ggf. noch das Escaping im HTML-Kontext durchzuführen.

- Sven Rautenberg