6.6 KiB
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Beskrywing
In 'n situasie waar 'n aanvaller die href
argument van 'n <a
tag met die eienskap target="_blank" rel="opener"
kan beheer wat deur 'n slagoffer geklik gaan word, kan die aanvaller hierdie skakel na 'n web wat onder sy beheer is ( 'n skadelike webwerf). Dan, sodra die slagoffer die skakel kliek en toegang tot die aanvaller se webwerf verkry, sal hierdie skadelike webwerf in staat wees om die oorspronklike bladsy te beheer via die javascript-objek window.opener
.
As die bladsy nie **rel="opener"
het nie, maar target="_blank"
bevat en ook nie rel="noopener"
het nie, kan dit ook kwesbaar wees.
'n Gewone manier om van hierdie gedrag misbruik te maak, sou wees om die ligging van die oorspronklike web te verander via window.opener.location = https://attacker.com/victim.html
na 'n web wat deur die aanvaller beheer word en wat lyk soos die oorspronklike een, sodat dit die aanmeldingsvorm van die oorspronklike webwerf kan naboots en die gebruiker om geloofsbriewe kan vra.
Let egter daarop dat aangesien die aanvaller nou die vensterobjek van die oorspronklike webwerf kan beheer, hy dit op ander maniere kan misbruik om stealthier aanvalle uit te voer (dalk deur javascript-gebeurtenisse te wysig om inligting na 'n deur hom beheerde bediener uit te lek?)
Oorsig
Met terugskakel
Skakel tussen ouer- en kinderbladsye wanneer die voorkomingskenmerk nie gebruik word nie:
Sonder terugskakel
Skakel tussen ouer- en kinderbladsye wanneer die voorkomingskenmerk gebruik word:
Voorbeelde
Skep die volgende bladsye in 'n vouer en voer 'n webbediener uit met python3 -m http.server
Toets dan, besoek http://127.0.0.1:8000/
vulnerable.html, klik op die skakel en let op hoe die oorspronklike webwerf-URL verander.
{% code title="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>
{% code title="skadelik.html" %}
<!DOCTYPE html>
<html>
<body>
<script>
window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
</script>
</body>
</html>
{% code title="skadelike_redir.html" %}
<!DOCTYPE html>
<html>
<body>
<h1>New Malicious Site</h1>
</body>
</html>
{% endcode %}
Toeganklike eienskappe
In die scenario waar 'n kruis-oorsprong toegang plaasvind (toegang oor verskillende domeine), is die eienskappe van die window JavaScript-klasinstansie, waarna verwys word deur die opener JavaScript-objekverwysing, wat deur 'n skadelike webwerf toeganklik is, beperk tot die volgende:
opener.closed
: Hierdie eienskap word gebruik om vas te stel of 'n venster gesluit is, en gee 'n booleaanse waarde terug.opener.frames
: Hierdie eienskap bied toegang tot alle iframe-elemente binne die huidige venster.opener.length
: Die aantal iframe-elemente wat in die huidige venster teenwoordig is, word deur hierdie eienskap teruggegee.opener.opener
: 'n Verwysing na die venster wat die huidige venster geopen het, kan verkry word deur hierdie eienskap.opener.parent
: Hierdie eienskap gee die ouer-venster van die huidige venster terug.opener.self
: Toegang tot die huidige venster self word deur hierdie eienskap verskaf.opener.top
: Hierdie eienskap gee die venster met die hoogste vlak in die blaaier terug.
In gevalle waar die domeine egter identies is, verkry die skadelike webwerf toegang tot alle eienskappe wat deur die window JavaScript-objekverwysing blootgestel word.
Voorkoming
Voorkomingsinligting word gedokumenteer in die HTML5 Spiekbriefie.
Verwysings
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.