hacktricks/pentesting-web/xss-cross-site-scripting/some-same-origin-method-execution.md
2024-02-11 02:13:58 +00:00

5.7 KiB

BAADHI - Utekelezaji wa Njia Iliyofanana ya Asili

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Utekelezaji wa Njia Iliyofanana ya Asili

Kutakuwa na nyakati ambapo unaweza kutekeleza javascript mdogo katika ukurasa. Kwa mfano, katika kesi ambapo unaweza kudhibiti thamani ya kurejelea ambayo itatekelezwa.

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.

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.

Kimsingi, mchakato wa shambulio ni kama ifuatavyo:

  • 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).

{% hint style="danger" %} 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.

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. {% endhint %}

Utekelezaji

Mfano

  • Unaweza kupata mfano ulio hatarini katika 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

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!