# SOME - Izvršavanje metoda sa istog izvora
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
* Radite li u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
## Izvršavanje metoda sa istog izvora
Postojaće situacije u kojima možete izvršiti neki ograničeni JavaScript na stranici. Na primer, u slučaju kada možete **kontrolisati povratnu vrednost koja će biti izvršena**.
U tim slučajevima, jedna od najboljih stvari koje možete uraditi je **pristup DOM-u da biste pozvali bilo koju** osetljivu akciju koju možete pronaći tamo (kao što je klik na dugme). Međutim, obično ćete ovu ranjivost pronaći na **malim krajnjim tačkama bez ikakvih interesantnih stvari u DOM-u**.
U tim scenarijima, ovaj napad će biti veoma koristan, jer je njegov cilj da **zloupotrebite ograničeno izvršavanje JS-a unutar DOM-a sa druge stranice sa istog domena** sa mnogo interesantnih akcija.
Osnovni tok napada je sledeći:
* Pronađite **povratnu vrednost koju možete zloupotrebiti** (potencijalno ograničenu na \[\w\\.\_]).
* Ako nije ograničeno i možete izvršiti bilo koji JS, jednostavno možete zloupotrebiti ovo kao redovni XSS.
* Naterajte **žrtvu da otvori stranicu** kojom **upravlja napadač**.
* **Stranica će se otvoriti sama** u **novom prozoru** (novi prozor će imati objekat **`opener`** koji se odnosi na početni prozor).
* **Početna stranica** će učitati **stranicu** gde se nalazi **interesantan DOM**.
* **Druga stranica** će učitati **ranjivu stranicu zloupotrebljavajući povratnu vrednost** i koristeći objekat **`opener`** da **pristupi i izvrši neku akciju na početnoj stranici** (koja sada sadrži interesantan DOM).
{% hint style="danger" %}
Imajte na umu da čak i ako početna stranica pristupi novom URL-u nakon što je kreirala drugu stranicu, **`opener` objekat druge stranice i dalje je validna referenca na prvu stranicu u novom DOM-u**.
Osim toga, da bi druga stranica mogla koristiti opener objekat, **obe stranice moraju biti na istom izvoru**. To je razlog zašto, da biste zloupotrebili ovu ranjivost, morate pronaći neku vrstu **XSS-a sa istog izvora**.
{% endhint %}
### Eksploatacija
* Možete koristiti ovaj obrazac da **generišete PoC** za iskorišćavanje ovog tipa ranjivosti: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
* Da biste pronašli put do HTML elementa sa klikom, možete koristiti ovaj dodatak za pregledač: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
### Primer
* Možete pronaći ranjiv primer na [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
* Imajte na umu da u ovom primeru server **generiše JavaScript kod** i **dodaje** ga u HTML na osnovu **sadržaja parametra povratnog poziva:** ``. Zato u ovom primeru ne morate eksplicitno navesti upotrebu `opener`-a.
* Takođe proverite ovaj CTF writeup: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
## Reference
* [https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/](https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/)
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
* Radite li u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).