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

65 lines
4.9 KiB
Markdown

# KUTEKELEZA NJIA SAWA YA ASILI
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya HackTricks AWS)</strong></a><strong>!</strong></summary>
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) ni injini ya utaftaji inayotumia **dark-web** ambayo inatoa huduma za **bure** kuchunguza ikiwa kampuni au wateja wake wameathiriwa na **malware za wizi**.
Lengo kuu la WhiteIntel ni kupambana na utekaji wa akaunti na mashambulio ya ransomware yanayotokana na malware za kuiba habari.
Unaweza kutembelea tovuti yao na kujaribu injini yao **bure** hapa:
{% embed url="https://whiteintel.io" %}
***
## Kutekeleza Njia Sawa ya Asili
Kutakuwa na nyakati ambapo unaweza kutekeleza javascript iliyopunguzwa kwenye ukurasa. Kwa mfano, katika kesi ambapo unaweza [**kudhibiti thamani ya kurejeshwa ambayo itatekelezwa**](./#javascript-function).
Katika kesi hizo, moja ya mambo bora unayoweza kufanya ni **kufikia DOM ili kuita** hatua nyeti unayoweza kupata hapo (kama vile kubofya kitufe). Walakini, kawaida utapata udhaifu huu katika **vituo vidogo bila kitu cha kuvutia katika DOM**.
Katika hali hizo, shambulio hili litakuwa na manufaa sana, kwa sababu lengo lake ni kuweza **kutumia utekelezaji mdogo wa JS ndani ya DOM kutoka ukurasa tofauti kutoka kwa kikoa sawa** na hatua za kuvutia sana.
Kimsingi, mchakato wa shambulio ni kama ifuatavyo:
* Pata **kurejeshwa unayoweza kutumia vibaya** (kwa uwezekano mdogo wa \[\w\\.\_]).
* Ikiwa sio mdogo na unaweza kutekeleza JS yoyote, unaweza tu kutumia hii kama XSS ya kawaida
* Fanya **mlemavu afungue ukurasa** unaodhibitiwa na **mshambuliaji**
* **Ukurasa utajifungua** katika **dirisha tofauti** (dirisha jipya litakuwa na kitu cha **`opener`** kikirejelea cha kwanza)
* **Ukurasa wa kwanza** utapakia **ukurasa** ambapo **DOM inayovutia** iko.
* **Ukurasa wa pili** utapakia **ukurasa mlemavu ukidhuru kurejeshwa** na kutumia kitu cha **`opener`** kufikia na kutekeleza hatua fulani kwenye ukurasa wa kwanza** (ambao sasa una DOM inayovutia).
{% hint style="danger" %}
Tafadhali kumbuka kwamba hata ikiwa ukurasa wa kwanza unafikia URL mpya baada ya kuunda ukurasa wa pili, **kitu cha `opener` cha ukurasa wa pili bado ni kumbukumbu halali ya ukurasa wa kwanza katika DOM mpya**.
Zaidi ya hayo, ili ukurasa wa pili uweze kutumia kitu cha opener **kurasa zote mbili lazima ziwe kwenye asili sawa**. Hii ndio sababu, ili kutumia udhaifu huu, unahitaji kupata aina fulani ya **XSS katika asili ile ile**.
{% endhint %}
### Utekaji
* Unaweza kutumia fomu hii kwa **kuzalisha PoC** kutekeleza aina hii ya udhaifu: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
* Ili kupata njia ya DOM kwa kipengele cha HTML na bonyeza unaweza kutumia kifaa hiki cha kivinjari: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
### Mfano
* Unaweza kupata mfano wa udhaifu katika [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
* Tafadhali kumbuka kwamba katika mfano huu **seva inazalisha msimbo wa javascript** na **kuuongeza** kwenye HTML kulingana na **maudhui ya parameter ya kurejeshwa:** `<script>opener.{callbacl_content}</script>` . Ndio sababu katika mfano huu hauitaji kuonyesha matumizi ya `opener` kwa uwazi.
* Pia angalia hii CTF writeup: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
## Marejeo
* [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/)