# BrowExt - ClickJacking {{#include ../../banners/hacktricks-training.md}} ## Основна інформація Ця сторінка буде використовувати вразливість ClickJacking у розширенні браузера.\ Якщо ви не знаєте, що таке ClickJacking, перевірте: {{#ref}} ../clickjacking.md {{#endref}} Розширення містить файл **`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) **`web_accessible_resources`** у розширенні браузера доступні не лише через веб; вони також працюють з вбудованими привілеями розширення. Це означає, що вони мають можливість: - Змінювати стан розширення - Завантажувати додаткові ресурси - Взаємодіяти з браузером до певної міри Однак ця функція представляє собою ризик безпеки. Якщо ресурс у **`web_accessible_resources`** має будь-яку значну функціональність, зловмисник може потенційно вбудувати цей ресурс у зовнішню веб-сторінку. Непідозрюючі користувачі, які відвідують цю сторінку, можуть ненавмисно активувати цей вбудований ресурс. Така активація може призвести до непередбачуваних наслідків, залежно від дозволів і можливостей ресурсів розширення. ## Приклад PrivacyBadger У розширенні 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/*` зі списку `web_accessible_resources`. Ця зміна ефективно зменшила ризик, забезпечивши, що вміст каталогу `skin/` не може бути доступний або маніпульований через веб-доступні ресурси. Виправлення було простим: **видалити `/skin/*` з `web_accessible_resources`**. ### PoC ```html

Click the button

``` ## Metamask Приклад 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:`** наприклад):
**Ще один ClickJacking, виправлений** у розширенні Metamask, полягав у тому, що користувачі могли **Click to whitelist**, коли сторінка підозрювалася у фішингу через `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Оскільки ця сторінка була вразливою до Clickjacking, зловмисник міг зловживати цим, показуючи щось нормальне, щоб змусити жертву натиснути для внесення в білий список, не помічаючи цього, а потім повернутися на сторінку фішингу, яка буде внесена в білий список. ## Steam Inventory Helper Приклад Check the following page to check how a **XSS** in a browser extension was chained with a **ClickJacking** vulnerability: {{#ref}} browext-xss-example.md {{#endref}} ## References - [https://blog.lizzie.io/clickjacking-privacy-badger.html](https://blog.lizzie.io/clickjacking-privacy-badger.html) - [https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9) {{#include ../../banners/hacktricks-training.md}}