6.1 KiB
BrowExt - ClickJacking
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Taarifa Msingi
Ukurasa huu utatumia udhaifu wa ClickJacking katika kivinjari cha kivinjari.
Ikiwa haujui ni nini ClickJacking angalia:
{% content-ref url="../clickjacking.md" %} clickjacking.md {% endcontent-ref %}
Vifaa vinavyoendelea vina faili manifest.json
na faili hiyo ya JSON ina uga web_accessible_resources
. Hapa kuna nyaraka za Chrome zinasema kuhusu hilo:
Vifaa hivi basi vitapatikana kwenye ukurasa wa wavuti kupitia URL
chrome-extension://[PACKAGE ID]/[PATH]
, ambayo inaweza kuzalishwa nanjia ya extension.getURL
. Vifaa vilivyoorodheshwa vinahudumiwa na vichwa sahihi vya CORS, hivyo vinapatikana kupitia mbinu kama XHR.1
web_accessible_resources
katika kivinjari cha kivinjari sio tu inapatikana kupitia wavuti; pia inafanya kazi na mamlaka ya asili ya upanuzi. Hii inamaanisha kuwa ina uwezo wa:
- Kubadilisha hali ya upanuzi
- Kupakia vifaa vingine
- Kuingiliana na kivinjari kwa kiwango fulani
Hata hivyo, kipengele hiki kinaweka hatari ya usalama. Ikiwa rasilimali ndani ya web_accessible_resources
ina utendaji wowote muhimu, mshambuliaji anaweza kuiweka rasilimali hii kwenye ukurasa wa wavuti wa nje. Watumiaji wasio na shaka wanaotembelea ukurasa huu wanaweza kwa bahati mbaya kuamsha rasilimali hii iliyoingizwa. Kuamsha hii kunaweza kusababisha matokeo yasiyotarajiwa, kulingana na ruhusa na uwezo wa rasilimali za upanuzi.
Mfano wa PrivacyBadger
Katika upanuzi wa PrivacyBadger, udhaifu uligunduliwa kuhusiana na saraka ya skin/
kutangazwa kama web_accessible_resources
kwa njia ifuatayo (Angalia chapisho la asili blog):
"web_accessible_resources": [
"skin/*",
"icons/*"
]
Hii usanidi ilisababisha shida ya usalama inayowezekana. Kwa usahihi, faili ya skin/popup.html
, ambayo inaonyeshwa baada ya kuingiliana na ikoni ya PrivacyBadger kwenye kivinjari, inaweza kuingizwa ndani ya iframe
. Kuingiza hii inaweza kutumiwa kudanganya watumiaji ili kwa bahati mbaya bonyeza "Zima PrivacyBadger kwa Tovuti hii". Hatua kama hiyo ingeathiri faragha ya mtumiaji kwa kulemaza ulinzi wa PrivacyBadger na huenda ikaweka mtumiaji katika hatari ya kufuatiliwa zaidi. Onyesho la kivizuri la shambulio hili linaweza kuonekana katika mfano wa video ya ClickJacking iliyotolewa kwenye https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm.
Kushughulikia udhaifu huu, suluhisho rahisi lilitekelezwa: kuondoa /skin/*
kutoka kwenye orodha ya web_accessible_resources
. Mabadiliko haya yalipunguza hatari kwa kuhakikisha kwamba maudhui ya saraka ya skin/
hayawezi kufikiwa au kubadilishwa kupitia rasilimali zinazopatikana kwenye wavuti.
Suluhisho lilikuwa rahisi: ondoa /skin/*
kutoka kwa web_accessible_resources
.
PoC
<!--https://blog.lizzie.io/clickjacking-privacy-badger.html-->
<style>
iframe {
width: 430px;
height: 300px;
opacity: 0.01;
float: top;
position: absolute;
}
#stuff {
float: top;
position: absolute;
}
button {
float: top;
position: absolute;
top: 168px;
left: 100px;
}
</style>
<div id="stuff">
<h1>
Click the button
</h1>
<button id="button">
click me
</button>
</div>
<iframe src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
</iframe>
Mfano wa Metamask
Machapisho ya blogu kuhusu ClickJacking katika Metamask yanaweza kupatikana hapa. Katika kesi hii, Metamask iliziba mwanya kwa kuhakikisha kwamba itifaki iliyotumika kufikia ilikuwa https:
au http:
(sio chrome:
kwa mfano):
Mwingine ClickJacking uliofanyiwa marekebisho katika upanuzi wa Metamask ilikuwa watumiaji kuweza Bofya kuweka kwenye orodha nyeupe wakati ukurasa ulionekana kuwa shuki kwa sababu ya “web_accessible_resources”: [“inpage.js”, “phishing.html”]
. Kwa kuwa ukurasa huo ulikuwa na udhaifu wa Clickjacking, mshambuliaji angeweza kutumia hilo kuonyesha kitu cha kawaida ili kumfanya muathirika abonyeze kuweka kwenye orodha nyeupe bila kugundua, na kisha kurudi kwenye ukurasa wa kuwinda ambao utakuwa umewekwa kwenye orodha nyeupe.
Mfano wa Steam Inventory Helper
Angalia ukurasa ufuatao kuona jinsi XSS katika upanuzi wa kivinjari ilivyofungamana na udhaifu wa ClickJacking:
{% content-ref url="browext-xss-example.md" %} browext-xss-example.md {% endcontent-ref %}