6 KiB
SOME - Same Origin Method Execution
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks bewerben? Oder möchten Sie Zugriff auf die neueste Version des PEASS erhalten oder HackTricks als PDF herunterladen? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Treten Sie der 💬 Discord-Gruppe oder der Telegramm-Gruppe bei oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das hacktricks repo und das hacktricks-cloud repo senden.
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 kontrollieren können, der ausgeführt wird.
In solchen Fällen ist eine der besten Dinge, die Sie tun können, den DOM zu öffnen, um eine beliebige sensible Aktion auszuführen, die Sie darin finden können (wie das Klicken auf eine Schaltfläche). In der Regel finden Sie jedoch diese Schwachstelle in kleinen Endpunkten ohne interessante Dinge im DOM.
In solchen Szenarien ist dieser Angriff sehr nützlich, da sein Ziel darin besteht, die begrenzte JS-Ausführung innerhalb eines DOMs von einer anderen Seite derselben Domain mit viel interessanteren Aktionen zu missbrauchen.
Grundsätzlich sieht der Angriffsablauf wie folgt aus:
- Finden Sie einen Callback, den Sie missbrauchen können (potenziell auf [\w\._] beschränkt).
- Wenn er nicht begrenzt ist und Sie beliebiges JS ausführen können, können 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
auf die ursprüngliche Seite verweisen). - Die ursprüngliche Seite lädt die Seite, auf der sich der interessante DOM befindet.
- Die zweite Seite lädt die verwundbare Seite, indem sie den Callback missbraucht und das Objekt
opener
verwendet, um eine Aktion in der ursprünglichen Seite auszuführen (die jetzt den interessanten DOM enthält).
{% hint style="danger" %}
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 sich beide Seiten in derselben Herkunft befinden, damit die zweite Seite das Opener-Objekt verwenden kann. Aus diesem Grund müssen Sie, um diese Schwachstelle auszunutzen, eine Art XSS in derselben Herkunft finden. {% endhint %}
Ausnutzung
- Sie können dieses Formular verwenden, um einen PoC zu generieren, um diese Art von Schwachstelle auszunutzen: https://www.someattack.com/Playground/SOMEGenerator
- Um einen DOM-Pfad zu einem HTML-Element mit einem Klick zu finden, können Sie diese Browser-Erweiterung verwenden: https://www.someattack.com/Playground/targeting_tool
Beispiel
- Sie finden ein anfälliges Beispiel 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>
. Aus diesem Grund müssen Sie in diesem Beispiel nicht explizit die Verwendung vonopener
angeben. - Überprüfen Sie auch diese CTF-Write-up: https://ctftime.org/writeup/36068
Referenzen
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks bewerben? Oder möchten Sie Zugriff auf die neueste Version des PEASS erhalten oder HackTricks als PDF herunterladen? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Treten Sie der 💬 Discord-Gruppe oder der Telegramm-Gruppe bei oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das hacktricks repo und das hacktricks-cloud repo senden.