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

64 lines
5.7 KiB
Markdown
Raw Normal View History

2024-02-11 02:13:58 +00:00
# BAADHI - Utekelezaji wa Njia Iliyofanana ya Asili
2022-06-23 12:12:25 +00:00
<details>
2024-02-11 02:13:58 +00:00
<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 AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata **toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF**? Angalia [**MPANGO WA 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 [**swag rasmi ya 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 **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-06-23 12:12:25 +00:00
</details>
2024-02-11 02:13:58 +00:00
## Utekelezaji wa Njia Iliyofanana ya Asili
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
Kutakuwa na nyakati ambapo unaweza kutekeleza javascript mdogo katika ukurasa. Kwa mfano, katika kesi ambapo unaweza **kudhibiti thamani ya kurejelea ambayo itatekelezwa**.
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
Katika kesi hizo, moja ya mambo bora unayoweza kufanya ni **kupata ufikiaji wa DOM ili kuita hatua nyeti** unayoweza kupata hapo (kama vile kubonyeza kitufe). Walakini, kawaida utapata udhaifu huu katika **sehemu ndogo za mwisho bila kitu cha kuvutia katika DOM**.
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
Katika mazingira hayo, shambulio hili litakuwa na manufaa sana, kwa sababu lengo lake ni kuweza **kutumia utekelezaji mdogo wa JS ndani ya DOM kutoka ukurasa tofauti kutoka kwenye kikoa kimoja** na hatua nyingi za kuvutia.
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
Kimsingi, mchakato wa shambulio ni kama ifuatavyo:
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
* Tafuta **kurejelea ambayo unaweza kutumia vibaya** (inaweza kuwa imezuiliwa kwa \[\w\\.\_]).
* Ikiwa haikuwekewa kizuizi na unaweza kutekeleza JS yoyote, unaweza tu kutumia hii kama XSS ya kawaida
* Fanya **mwathirika afungue ukurasa** unaodhibitiwa na **mshambuliaji**
* **Ukurasa utafungua yenyewe** katika **dirisha tofauti** (dirisha jipya litakuwa na kielelezo cha **`opener`** kirejezea cha cha awali)
* **Ukurasa wa awali** utapakia **ukurasa** ambapo **DOM inayovutia** iko.
* **Ukurasa wa pili** utapakia **ukurasa ulio hatarini ukidanganya kurejelea** na kutumia kielelezo cha **`opener`** ku **fikia na kutekeleza hatua fulani kwenye ukurasa wa awali** (ambao sasa una DOM inayovutia).
2022-06-23 12:12:25 +00:00
{% hint style="danger" %}
2024-02-11 02:13:58 +00:00
Tambua kwamba hata ikiwa ukurasa wa awali unafikia URL mpya baada ya kuunda ukurasa wa pili, **kielelezo cha `opener` cha ukurasa wa pili bado ni kirejezea halali kwa ukurasa wa kwanza katika DOM mpya**.
2022-06-23 12:52:13 +00:00
2024-02-11 02:13:58 +00:00
Zaidi ya hayo, ili ukurasa wa pili uweze kutumia kielelezo cha opener **kurasa zote lazima ziwe kwenye asili moja**. Hii ndio sababu, ili kutumia udhaifu huu, unahitaji kupata aina fulani ya **XSS katika asili ile ile**.
2022-06-23 12:12:25 +00:00
{% endhint %}
2024-02-11 02:13:58 +00:00
### Utekelezaji
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
* Unaweza kutumia fomu hii ku **kuunda PoC** kudukua aina hii ya udhaifu: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
* Ili kupata njia ya DOM kwa kubonyeza kwenye kipengele cha HTML, unaweza kutumia kifaa hiki cha kivinjari: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
### Mfano
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
* Unaweza kupata mfano ulio hatarini katika [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
* Tafadhali kumbuka kuwa katika mfano huu, seva ina **kuzalisha nambari ya javascript** na **kuiongeza** kwenye HTML kulingana na **maudhui ya kipengele cha kurejelea:** `<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)
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
## Marejeo
2022-06-23 12:12:25 +00:00
* [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>
2024-02-11 02:13:58 +00:00
<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 AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2022-06-23 12:12:25 +00:00
2024-02-11 02:13:58 +00:00
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata **toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF**? Angalia [**MPANGO WA 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 [**swag rasmi ya 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 **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-06-23 12:12:25 +00:00
</details>