SOME - Same Origin Method Execution

Support HackTricks

WhiteIntel ni injini ya kutafuta inayotumiwa na dark-web ambayo inatoa kazi za bure kuangalia ikiwa kampuni au wateja wake wamekuwa compromised na stealer malwares.

Lengo lao kuu la WhiteIntel ni kupambana na utekaji wa akaunti na mashambulizi ya ransomware yanayotokana na malware inayopora taarifa.

Unaweza kuangalia tovuti yao na kujaribu injini yao kwa bure kwenye:


Same Origin Method Execution

Kutakuwa na matukio ambapo unaweza kutekeleza javascript kidogo kwenye ukurasa. Kwa mfano, katika kesi ambapo unaweza kudhibiti thamani ya callback ambayo itatekelezwa.

Katika hizo kesi, moja ya mambo bora unayoweza kufanya ni kufikia DOM ili kuita chochote kitendo nyeti unachoweza kukutana nacho huko (kama kubonyeza kitufe). Hata hivyo, kawaida utapata udhaifu huu katika mipaka midogo bila kitu chochote cha kuvutia katika DOM.

Katika hali hizo, shambulio hili litakuwa la manufaa sana, kwa sababu lengo lake ni kuwa na uwezo wa kutumia utekelezaji wa JS mdogo ndani ya DOM kutoka ukurasa tofauti kutoka kwenye kikoa kimoja na vitendo vingi vya kuvutia.

Kimsingi, mtiririko wa shambulio ni kama ifuatavyo:

  • Pata callback ambayo unaweza kutumia (inaweza kuwa na mipaka kwa [\w\._]).

  • Ikiwa haijapunguzika na unaweza kutekeleza JS yoyote, unaweza tu kutumia hii kama XSS ya kawaida.

  • Fanya mhusika afungue ukurasa unaodhibitiwa na mshambuliaji.

  • Ukurasa utafungua mwenyewe katika dirisha tofauti (dirisha jipya litakuwa na kitu opener kinachorejelea cha awali).

  • Ukurasa wa awali utafungua ukurasa ambapo DOM ya kuvutia iko.

  • Ukurasa wa pili utafungua ukurasa dhaifu ukitumia callback na kutumia kitu opener ili kufikia na kutekeleza kitendo fulani katika ukurasa wa awali (ambayo sasa ina DOM ya kuvutia).

Kumbuka kwamba hata kama ukurasa wa awali unapata URL mpya baada ya kuunda ukurasa wa pili, kitu cha opener cha ukurasa wa pili bado ni rejeleo halali kwa ukurasa wa kwanza katika DOM mpya.

Zaidi ya hayo, ili ukurasa wa pili uweze kutumia kitu cha opener mipaka yote inapaswa kuwa katika asili moja. Hii ndiyo sababu, ili kutumia udhaifu huu, unahitaji kupata aina fulani ya XSS katika asili moja.

Exploitation

Example

  • Unaweza kupata mfano dhaifu katika https://www.someattack.com/Playground/

  • Kumbuka kwamba katika mfano huu server inafanya kuunda msimbo wa javascript na kuongeza kwenye HTML kulingana na maudhui ya parameter ya callback: <script>opener.{callbacl_content}</script>. Ndio maana katika mfano huu huwezi kuhitaji kuonyesha matumizi ya opener wazi.

  • Pia angalia andiko hili la CTF: https://ctftime.org/writeup/36068

References

Support HackTricks

Last updated