# BrowExt - ClickJacking {{#include ../../banners/hacktricks-training.md}} ## Osnovne informacije Ova stranica će iskoristiti ClickJacking ranjivost u ekstenziji za pregledač.\ Ako ne znate šta je ClickJacking, proverite: {{#ref}} ../clickjacking.md {{#endref}} Ekstenzije sadrže datoteku **`manifest.json`** i ta JSON datoteka ima polje `web_accessible_resources`. Evo šta [Chrome dokumentacija](https://developer.chrome.com/extensions/manifest/web_accessible_resources) kaže o tome: > Ovi resursi bi zatim bili dostupni na veb stranici putem URL-a **`chrome-extension://[PACKAGE ID]/[PATH]`**, koji se može generisati pomoću **`extension.getURL method`**. Resursi na beloj listi se isporučuju sa odgovarajućim CORS zaglavljima, tako da su dostupni putem mehanizama kao što je XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1) **`web_accessible_resources`** u ekstenziji za pregledač nisu dostupni samo putem veba; oni takođe funkcionišu sa inherentnim privilegijama ekstenzije. To znači da imaju sposobnost da: - Promene stanje ekstenzije - Učitaju dodatne resurse - Interaguju sa pregledačem do određene mere Međutim, ova funkcija predstavlja bezbednosni rizik. Ako resurs unutar **`web_accessible_resources`** ima bilo kakvu značajnu funkcionalnost, napadač bi potencijalno mogao da ugradi ovaj resurs u eksternu veb stranicu. Neoprezni korisnici koji posete ovu stranicu mogli bi nenamerno aktivirati ovaj ugrađeni resurs. Takva aktivacija mogla bi dovesti do nepredviđenih posledica, u zavisnosti od dozvola i mogućnosti resursa ekstenzije. ## Primer PrivacyBadger U ekstenziji PrivacyBadger, identifikovana je ranjivost povezana sa `skin/` direktorijumom koji je deklarisan kao `web_accessible_resources` na sledeći način (Proverite originalni [blog post](https://blog.lizzie.io/clickjacking-privacy-badger.html)): ```json "web_accessible_resources": [ "skin/*", "icons/*" ] ``` Ova konfiguracija je dovela do potencijalnog bezbednosnog problema. Konkretno, `skin/popup.html` datoteka, koja se prikazuje prilikom interakcije sa ikonom PrivacyBadger u pretraživaču, mogla bi biti ugrađena unutar `iframe`. Ova ugradnja bi mogla biti iskorišćena da prevari korisnike da nenamerno kliknu na "Disable PrivacyBadger for this Website". Takva akcija bi kompromitovala privatnost korisnika onemogućavanjem zaštite PrivacyBadger i potencijalno izložila korisnika povećanom praćenju. Vizuelna demonstracija ovog eksploata može se videti u ClickJacking video primeru koji je dostupan na [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm). Da bi se rešila ova ranjivost, implementirano je jednostavno rešenje: uklanjanje `/skin/*` iz liste `web_accessible_resources`. Ova promena je efikasno smanjila rizik osiguravajući da sadržaj `skin/` direktorijuma ne može biti pristupljen ili manipulisan putem web-pristupa. Rešenje je bilo jednostavno: **ukloniti `/skin/*` iz `web_accessible_resources`**. ### PoC ```html