JavaScript Seitenwechseln und dann noch Code ausführen?

Hallo,

ich möchte per JavaScript einen Seitenwechsel machen und dann auf dieser neuen Seite noch JavaScript-Code ausführen.
Ein Formular ausfüllen und abschicken.

Es soll eine Art Wurm sein...für die Uni.

Gibt es die Möglichkeit dazu?
Es kann nicht über den PHP-Code passieren oder so.

MfG
 
Es gibt natürlich einen Sicherheitsmechanismus gegen dein Vorhaben. Es nennt sich same-origin-policy [1] . Dieses Prinzip gibt es nicht nur bei JavaScript.
Sonst könnten wir uns heute vor Javascript-Keyloggern kaum noch retten, wenn das so leicht gehen würde.
Es gibt natürlich so ein paar Tricks dagegen, wie bspw. DNS-Rebinding, aber wie und unter welchen Umständen das überhaupt möglich ist, darfst du jetzt recherchieren.

[1] JavaScript: Sicherheit

EDIT: OK. Es könnte sein, dass ich das falsch verstanden habe. Ich war auf dem Security-Trip *g*. Vlt. willst du auch einfach nur window.location auf der selben domain ändern?
 
ja das weiß ich,
die frage ist wie setze ich das konkret um?

also ich will eine nachricht senden und diese enthält javascript.
das funktioniert auch, aber wenn die die seite, in der selben domain,wechsel kann ich keine javascript mehr ausführen.

Daher die Frage wie übergebe ich von einer Seite zur anderen Javascript?

Edit:
ja genau :D aber wie dann dort Code ausführen?
 
ach mist, wieso findet man im netz nichts dazu?

ich finde gar kein ansatz...

ausser wenn ich wüsste wie man nach einem seitenwechsel wieder javascript ausführt.

kann mir das niemand sagen?
 
:facepalm:

Setze window.location mit einem Hashtag und lese den hashtag auf der Zielseite wieder aus mittels window.location.hash
 
kannst du mir ein beispiel geben?


<script type="text/javascript">

window.location="http://test.com#<script type="text/javascript">document.getElementsByName("checkbox[]")[0].checked = true;"</script>";
window.location.hash;

</script>

Das klappt auch nicht :(

naja ich gehe jetzt schlafen... hoffe mir kann morgen jemand helfen... :( :(
 
Zuletzt bearbeitet:
Die neue Seite muss natürlich den Code beinhalten um auf den Hashtag zu reagieren.
Also du änderst einfach den Source der Seite, die du bei window.location angibst.
 
Haha, ja das soll aber ein javascript wurm sein...

Es geht darum zu verstehen wie sowas funktioniert, es handelt sich um ein projekt in der uni.

Es geht um xss.

Wenn ich den code neuschreiben könnte wäre es auch kein problem.
Wir haben da eine plattform worauf wir das üben können.

Man schickt eine nachricht und die kann javascript enthalten.
Der andere user meldet sich an ( extra account) und bekommt diese nachricht und diese wird weiter verschickt.

Also muss man nach dem einloggen einmal die seite wechseln per javascript und auf der neue seite wieder Javascriptcode ausführen um die nachricht weiterzuschicken.

Die seite ist dafür ausgelegt und es gibt keine besonderen sicherungsmechnismen..
 
Zuletzt bearbeitet:
Also lag ich ja doch richtig oder vlt. fast.
Ist eine andere Domain im Spiel geht dein Vorhaben nicht wegen der Same-Origin-Policy.

Zusätlich geht dein Vorhaben nicht (auch bei selber Domain), weil du den gesamten DOM Kontext ändern willst ohne Referenzen im neuen Kontext zu haben.

Du hast also so wie ich das sehe drei Möglichkeiten:
(1) Du änderst das Zieldokument so, dass es Paramter annimmt um den JS-Code auszuführen. Allerdings demonstriert dies natürlich in keiner Weise irgendeine Sicherheitslücke, sondern muss in dieser Form als Feature angesehen werden.
(2) Du baust in das Zieldokument eine XSS-Lücke ein (in das Nachrichtensystem). Dabei sollte also die Nachricht samt JS-Code as is in den HTML-Code dieser Nachrichten-Anzeigeseite eingebettet werden, was dazu führt, dass dieser JS-Code ausgeführt wird.
(3) Die Quellseite mit dem JS-Code erzeugt dynamisch auf der aktuellen Seite einen Frame in welchem die Zielseite geladen wird. Der JS-Code hat nun Zugriff auf den DOM der Zielseite in dem Frame. (Geht wegen der SOP nur innerhalb der selben Domain)
 
Ich wähle nummer 2 so ist es ich kann das schon script ausführen, aber ich weiß nicht wie. Ich muss von der loginseite dort wird die nachricht direkt ausgeführt bzw der jscode. Aber dann muss ich die seite wechseln und dann weiß ich nicht weiter.

Oder kann ich auch einen request ertellen parameter übergeben und die nachricht einfach so konstruieren?

Mfg und guten morgen:)
 
Zurück
Oben