hacktricks/pentesting-web/xss-cross-site-scripting/some-same-origin-method-execution.md

6 KiB

SOME - Same Origin Method Execution

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

WhiteIntel

WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kontroleer of 'n maatskappy of sy kliënte gekompromitteer is deur stealer malwares.

Hul primêre doel van WhiteIntel is om rekening oorname en ransomware aanvalle wat voortspruit uit inligting-steel malware te bekamp.

Jy kan hul webwerf besoek en hul enjin gratis probeer by:

{% embed url="https://whiteintel.io" %}


Same Origin Method Execution

Daar sal geleenthede wees waar jy 'n beperkte javascript op 'n bladsy kan uitvoer. Byvoorbeeld, in die geval waar jy kan beheer oor 'n terugroepwaarde wat uitgevoer sal word.

In daardie gevalle is een van die beste dinge wat jy kan doen om die DOM te benader om enige sensitiewe aksie wat jy daar kan vind (soos om op 'n knoppie te klik) te noem. Dit is egter gewoonlik dat jy hierdie kwesbaarheid in klein eindpunte sonder enige interessante ding in die DOM sal vind.

In daardie scenario's sal hierdie aanval baie nuttig wees, omdat die doel is om in staat te wees om die beperkte JS uitvoering binne 'n DOM van 'n ander bladsy van dieselfde domein te misbruik met baie interessante aksies.

Basies is die aanvalstroom soos volg:

  • Vind 'n terugroep wat jy kan misbruik (potensieel beperk tot [\w\._]).
  • As dit nie beperk is nie en jy enige JS kan uitvoer, kan jy dit eenvoudig as 'n gewone XSS misbruik.
  • Laat die slagoffer 'n bladsy oopmaak wat deur die aanvaller beheer word.
  • Die bladsy sal homself in 'n ander venster oopmaak (die nuwe venster sal die objek opener hê wat na die aanvanklike een verwys).
  • Die aanvanklike bladsy sal die bladsy laai waar die interessante DOM geleë is.
  • Die tweede bladsy sal die kwesbare bladsy laai wat die terugroep misbruik en die opener objek gebruik om toegang te verkry en 'n aksie in die aanvanklike bladsy uit te voer (wat nou die interessante DOM bevat).

{% hint style="danger" %} Let daarop dat selfs al het die aanvanklike bladsy toegang tot 'n nuwe URL nadat die tweede bladsy geskep is, die opener objek van die tweede bladsy steeds 'n geldige verwysing na die eerste bladsy in die nuwe DOM is.

Boonop, om die tweede bladsy in staat te stel om die opener objek te gebruik, moet albei bladsye in die same oorsprong wees. Dit is die rede waarom jy, om hierdie kwesbaarheid te misbruik, 'n soort XSS in die same oorsprong moet vind. {% endhint %}

Exploitation

Example

  • Jy kan 'n kwesbare voorbeeld vind in https://www.someattack.com/Playground/
  • Let daarop dat in hierdie voorbeeld die bediener javascript kode genereer en dit aan die HTML toevoeg gebaseer op die inhoud van die terugroepparameter: <script>opener.{callbacl_content}</script> . Daarom hoef jy in hierdie voorbeeld nie die gebruik van opener eksplisiet aan te dui nie.
  • Kyk ook na hierdie CTF skrywe: https://ctftime.org/writeup/36068

References

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}