mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
63 lines
5.6 KiB
Markdown
63 lines
5.6 KiB
Markdown
# SOME - Izvršavanje metoda sa istog izvora
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* 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).
|
|
|
|
</details>
|
|
|
|
## 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:** `<script>opener.{callbacl_content}</script>`. 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/)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* 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).
|
|
|
|
</details>
|