SOME - Same Origin Method Execution

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

WhiteIntel ist eine von Dark Web angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von Stealer-Malware kompromittiert wurden.

Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden.

Sie können ihre Website besuchen und ihr Tool kostenlos ausprobieren unter:


Same Origin Method Execution

Es wird Situationen geben, in denen Sie etwas begrenztes JavaScript auf einer Seite ausführen können. Zum Beispiel, wenn Sie einen Callback-Wert steuern können, der ausgeführt wird.

In solchen Fällen ist eine der besten Dinge, die Sie tun könnten, auf das DOM zuzugreifen, um eine beliebige sensible Aktion auszuführen, die Sie dort finden können (wie das Klicken auf eine Schaltfläche). Normalerweise finden Sie diese Schwachstelle jedoch in kleinen Endpunkten ohne interessante Dinge im DOM.

In diesen Szenarien wird dieser Angriff sehr nützlich sein, da sein Ziel darin besteht, die begrenzte JS-Ausführung innerhalb eines DOM von einer anderen Seite derselben Domain aus zu missbrauchen.

Grundsätzlich folgt der Angriffsablauf wie folgt:

  • Finden Sie einen Callback, den Sie missbrauchen können (potenziell auf [\w\._] beschränkt).

  • Wenn es nicht begrenzt ist und Sie beliebiges JS ausführen können, könnten Sie dies einfach als reguläres XSS missbrauchen.

  • Lassen Sie das Opfer eine Seite öffnen, die vom Angreifer kontrolliert wird.

  • Die Seite wird sich selbst in einem anderen Fenster öffnen (das neue Fenster wird das Objekt opener haben, das auf das ursprüngliche verweist).

  • Die ursprüngliche Seite wird die Seite laden, auf der sich das interessante DOM befindet.

  • Die zweite Seite wird die verwundbare Seite laden, den Callback missbrauchen und das opener-Objekt verwenden, um eine Aktion in der ursprünglichen Seite auszuführen (die jetzt das interessante DOM enthält).

Beachten Sie, dass selbst wenn die ursprüngliche Seite nach dem Erstellen der zweiten Seite auf eine neue URL zugreift, das opener-Objekt der zweiten Seite immer noch eine gültige Referenz auf die erste Seite im neuen DOM ist.

Darüber hinaus müssen beide Seiten im selben Ursprung sein, damit die zweite Seite das opener-Objekt verwenden kann. Dies ist der Grund, warum Sie, um diese Schwachstelle auszunutzen, eine Art XSS im selben Ursprung finden müssen.

Ausnutzung

Beispiel

  • Ein anfälliges Beispiel finden Sie unter https://www.someattack.com/Playground/

  • Beachten Sie, dass in diesem Beispiel der Server JavaScript-Code generiert und ihn auf der Grundlage des Inhalts des Callback-Parameters zum HTML hinzufügt: <script>opener.{callbacl_content}</script> . Deshalb müssen Sie in diesem Beispiel nicht explizit die Verwendung von opener angeben.

  • Überprüfen Sie auch dieses CTF-Write-up: https://ctftime.org/writeup/36068

Referenzen

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Last updated