tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Maelezo
Katika hali ambapo mshambuliaji anaweza kudhibiti hoja ya href
ya <a
tag yenye sifa target="_blank" rel="opener"
ambayo itabonyezwa na mwathirika, mshambuliaji anapoint kiungo hiki kwenye wavuti chini ya udhibiti wake (tovuti mbaya). Kisha, mara tu mwathirika anapobonyeza kiungo na kufikia tovuti ya mshambuliaji, tovuti hii mbaya itakuwa na uwezo wa kudhibiti ukurasa wa asili kupitia kitu cha javascript window.opener
.
Ikiwa ukurasa huna rel="opener"
lakini ina target="_blank"
na pia haina rel="noopener"
inaweza pia kuwa na udhaifu.
Njia ya kawaida ya kutumia tabia hii ni kubadilisha eneo la wavuti ya asili kupitia window.opener.location = https://attacker.com/victim.html
kuwa wavuti inayodhibitiwa na mshambuliaji ambayo inafanana na ile ya asili, ili iweze kuiga fomu ya kuingia ya tovuti ya asili na kuomba taarifa za kuingia kwa mtumiaji.
Hata hivyo, kumbuka kwamba sasa mshambuliaji anaweza kudhibiti kituo cha dirisha cha tovuti ya asili anaweza kuitumia kwa njia nyingine ili kutekeleza shambulio la siri (labda kubadilisha matukio ya javascript ili kuhamasisha taarifa kwa seva inayodhibitiwa na yeye?)
Muhtasari
Pamoja na kiungo cha nyuma
Kiungo kati ya kurasa za mzazi na mtoto wakati sifa ya kuzuia haitumiki:
Bila kiungo cha nyuma
Kiungo kati ya kurasa za mzazi na mtoto wakati sifa ya kuzuia inatumika:
Mifano
Unda kurasa zifuatazo katika folda na endesha seva ya wavuti kwa python3 -m http.server
Kisha, fikia http://127.0.0.1:8000/
vulnerable.html, bonyeza kwenye kiungo na uone jinsi URL ya tovuti ya asili inavyobadilika.
<!DOCTYPE html>
<html>
<body>
<h1>Victim Site</h1>
<a href="http://127.0.0.1:8000/malicious.html" target="_blank" rel="opener">Controlled by the attacker</a>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<script>
window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h1>New Malicious Site</h1>
</body>
</html>
Mali ya kupatikana
Katika hali ambapo cross-origin inatokea (ufikiaji kati ya maeneo tofauti), mali za mfano wa darasa la JavaScript la window, zinazorejelewa na kiashiria cha JavaScript cha opener, ambazo zinaweza kufikiwa na tovuti mbaya zimepunguzika kwa yafuatayo:
opener.closed
: Mali hii inafikiwa ili kubaini kama dirisha limefungwa, ikirudisha thamani ya boolean.opener.frames
: Mali hii inatoa ufikiaji kwa vipengele vyote vya iframe ndani ya dirisha la sasa.opener.length
: Idadi ya vipengele vya iframe vilivyopo katika dirisha la sasa inarudishwa na mali hii.opener.opener
: Kiashiria kwa dirisha lililofungua dirisha la sasa linaweza kupatikana kupitia mali hii.opener.parent
: Mali hii inarudisha dirisha la mzazi la dirisha la sasa.opener.self
: Ufikiaji wa dirisha la sasa mwenyewe unapatikana kupitia mali hii.opener.top
: Mali hii inarudisha dirisha la kivinjari lililo juu kabisa.
Hata hivyo, katika matukio ambapo maeneo ni sawa, tovuti mbaya inapata ufikiaji wa mali zote zilizofichuliwa na window kiashiria cha JavaScript.
Kuzuia
Taarifa za kuzuia zimeandikwa katika HTML5 Cheat Sheet.
Marejeleo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.