mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/browser-extension-pentesting-methodology
This commit is contained in:
parent
051db2f2d7
commit
4efffa85e6
@ -2,7 +2,7 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Basic Information
|
||||
## Основна інформація
|
||||
|
||||
Ця сторінка буде використовувати вразливість ClickJacking у розширенні браузера.\
|
||||
Якщо ви не знаєте, що таке ClickJacking, перевірте:
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
Розширення містить файл **`manifest.json`** і цей JSON файл має поле `web_accessible_resources`. Ось що кажуть [документи Chrome](https://developer.chrome.com/extensions/manifest/web_accessible_resources):
|
||||
|
||||
> Ці ресурси будуть доступні на веб-сторінці через URL **`chrome-extension://[PACKAGE ID]/[PATH]`**, який можна згенерувати за допомогою **`extension.getURL method`**. Дозволені ресурси подаються з відповідними заголовками CORS, тому вони доступні через механізми, такі як XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
|
||||
> Ці ресурси будуть доступні на веб-сторінці через URL **`chrome-extension://[PACKAGE ID]/[PATH]`**, який можна згенерувати за допомогою **`extension.getURL method`**. Ресурси, що знаходяться в білому списку, подаються з відповідними заголовками CORS, тому вони доступні через механізми, такі як XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
|
||||
|
||||
**`web_accessible_resources`** у розширенні браузера доступні не лише через веб; вони також працюють з вбудованими привілеями розширення. Це означає, що вони мають можливість:
|
||||
|
||||
@ -23,18 +23,18 @@
|
||||
|
||||
Однак ця функція представляє собою ризик для безпеки. Якщо ресурс у **`web_accessible_resources`** має будь-яку значну функціональність, зловмисник може потенційно вбудувати цей ресурс у зовнішню веб-сторінку. Непідозрюючі користувачі, які відвідують цю сторінку, можуть ненавмисно активувати цей вбудований ресурс. Така активація може призвести до непередбачуваних наслідків, залежно від дозволів і можливостей ресурсів розширення.
|
||||
|
||||
## PrivacyBadger Example
|
||||
## Приклад PrivacyBadger
|
||||
|
||||
У розширенні PrivacyBadger була виявлена вразливість, пов'язана з тим, що директорія `skin/` була оголошена як `web_accessible_resources` наступним чином (перевірте оригінальний [блог пост](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
|
||||
У розширенні PrivacyBadger була виявлена вразливість, пов'язана з тим, що директорія `skin/` була оголошена як `web_accessible_resources` наступним чином (перевірте оригінальний [блог-пост](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
|
||||
```json
|
||||
"web_accessible_resources": [
|
||||
"skin/*",
|
||||
"icons/*"
|
||||
]
|
||||
```
|
||||
Ця конфігурація призвела до потенційної проблеми безпеки. Зокрема, файл `skin/popup.html`, який відображається при взаємодії з іконкою PrivacyBadger у браузері, може бути вбудований у `iframe`. Це вбудовування може бути використане для обману користувачів, змушуючи їх випадково натискати на "Вимкнути PrivacyBadger для цього веб-сайту". Така дія порушить конфіденційність користувача, вимкнувши захист PrivacyBadger і потенційно піддаючи користувача підвищеному відстеженню. Візуальну демонстрацію цього експлойту можна переглянути у відео прикладі ClickJacking, наданому за посиланням [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
|
||||
Ця конфігурація призвела до потенційної проблеми безпеки. Конкретно, файл `skin/popup.html`, який відображається при взаємодії з іконкою PrivacyBadger у браузері, може бути вбудований в `iframe`. Це вбудовування може бути використане для обману користувачів, змушуючи їх випадково натискати на "Вимкнути PrivacyBadger для цього веб-сайту". Така дія порушить конфіденційність користувача, вимкнувши захист PrivacyBadger і потенційно піддаючи користувача підвищеному відстеженню. Візуальну демонстрацію цього експлойту можна переглянути у відео прикладі ClickJacking, наданому за посиланням [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
|
||||
|
||||
Щоб усунути цю вразливість, було реалізовано просте рішення: видалення `/skin/*` зі списку `web_accessible_resources`. Ця зміна ефективно зменшила ризик, забезпечивши, що вміст каталогу `skin/` не може бути доступний або маніпульований через веб-доступні ресурси.
|
||||
Щоб вирішити цю вразливість, було реалізовано просте рішення: видалення `/skin/*` зі списку `web_accessible_resources`. Ця зміна ефективно зменшила ризик, забезпечивши, що вміст каталогу `skin/` не може бути доступний або маніпульований через веб-доступні ресурси.
|
||||
|
||||
Виправлення було простим: **видалити `/skin/*` з `web_accessible_resources`**.
|
||||
|
||||
@ -73,15 +73,15 @@ left: 100px;
|
||||
src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
|
||||
</iframe>
|
||||
```
|
||||
## Metamask Example
|
||||
## Metamask Приклад
|
||||
|
||||
A [**blog post about a ClickJacking in metamask can be found here**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). In this case, Metamask fixed the vulnerability by checking that the protocol used to access it was **`https:`** or **`http:`** (not **`chrome:`** for example):
|
||||
A [**blog post about a ClickJacking in metamask can be found here**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). У цьому випадку Metamask виправив вразливість, перевіряючи, що протокол, використаний для доступу, був **`https:`** або **`http:`** (не **`chrome:`** наприклад):
|
||||
|
||||
<figure><img src="../../images/image (21).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Ще один ClickJacking, виправлений** в розширенні Metamask, полягав у тому, що користувачі могли **Click to whitelist**, коли сторінка підозрювалася у фішингу через `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Оскільки ця сторінка була вразливою до Clickjacking, зловмисник міг зловживати нею, показуючи щось нормальне, щоб змусити жертву натиснути для додавання до білого списку, не помічаючи цього, а потім повернутися на сторінку фішингу, яка буде додана до білого списку.
|
||||
**Ще один ClickJacking, виправлений** у розширенні Metamask, полягав у тому, що користувачі могли **Click to whitelist**, коли сторінка підозрювалася у фішингу через `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Оскільки ця сторінка була вразливою до Clickjacking, зловмисник міг зловживати цим, показуючи щось нормальне, щоб змусити жертву натиснути для внесення в білий список, не помічаючи цього, а потім повернутися на сторінку фішингу, яка буде внесена в білий список.
|
||||
|
||||
## Steam Inventory Helper Example
|
||||
## Steam Inventory Helper Приклад
|
||||
|
||||
Check the following page to check how a **XSS** in a browser extension was chained with a **ClickJacking** vulnerability:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user