SOME - Same Origin Method Execution

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.

Il loro obiettivo principale è contrastare i takeover di account e gli attacchi ransomware derivanti da malware che rubano informazioni.

Puoi controllare il loro sito web e provare il loro motore gratuitamente su:


Esecuzione del Metodo Same Origin

Ci saranno occasioni in cui potrai eseguire un po' di javascript limitato in una pagina. Ad esempio, nel caso in cui puoi controllare un valore di callback che verrà eseguito.

In quei casi, una delle migliori cose che potresti fare è accedere al DOM per chiamare qualsiasi azione sensibile che puoi trovare lì dentro (come cliccare su un pulsante). Tuttavia, di solito troverai questa vulnerabilità in piccoli endpoint senza nulla di interessante nel DOM.

In quegli scenari, questo attacco sarà molto utile, perché il suo obiettivo è quello di poter abusare dell'esecuzione JS limitata all'interno di un DOM da una pagina diversa dello stesso dominio con molte azioni interessanti.

Fondamentalmente, il flusso dell'attacco è il seguente:

  • Trova un callback che puoi abusare (potenzialmente limitato a [\w\._]).

  • Se non è limitato e puoi eseguire qualsiasi JS, potresti semplicemente abusare di questo come un XSS regolare

  • Fai aprire una pagina al vittima controllata dall'attaccante

  • La pagina si aprirà da sola in una finestra diversa (la nuova finestra avrà l'oggetto opener che fa riferimento a quella iniziale)

  • La pagina iniziale caricherà la pagina dove si trova il DOM interessante.

  • La seconda pagina caricherà la pagina vulnerabile abusando del callback e utilizzando l'oggetto opener per accedere ed eseguire un'azione nella pagina iniziale (che ora contiene il DOM interessante).

Nota che anche se la pagina iniziale accede a un nuovo URL dopo aver creato la seconda pagina, l'oggetto opener della seconda pagina è ancora un riferimento valido alla prima pagina nel nuovo DOM.

Inoltre, affinché la seconda pagina possa utilizzare l'oggetto opener entrambe le pagine devono essere dello stesso dominio. Questo è il motivo per cui, per abusare di questa vulnerabilità, è necessario trovare una sorta di XSS nello stesso dominio.

Sfruttamento

Esempio

  • Puoi trovare un esempio vulnerabile in https://www.someattack.com/Playground/

  • Nota che in questo esempio il server genera codice javascript e lo aggiunge all'HTML in base al contenuto del parametro di callback: <script>opener.{callbacl_content}</script> . Per questo motivo in questo esempio non è necessario indicare esplicitamente l'uso di opener.

  • Controlla anche questo CTF writeup: https://ctftime.org/writeup/36068

Riferimenti

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Last updated