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

4.9 KiB

KUTEKELEZA NJIA SAWA YA ASILI

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

WhiteIntel

WhiteIntel 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.

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

Mfano

  • Unaweza kupata mfano wa udhaifu katika 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

Marejeo