BrowExt - ClickJacking
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Basiese Inligting
Hierdie bladsy gaan 'n ClickJacking kwesbaarheid in 'n Bladsy uitbreiding misbruik. As jy nie weet wat ClickJacking is nie, kyk:
ClickjackingUitbreidings bevat die lêer manifest.json
en daardie JSON-lêer het 'n veld web_accessible_resources
. Hier is wat die Chrome dokumentasie daaroor sê:
Hierdie hulpbronne sal dan beskikbaar wees in 'n webblad via die URL
chrome-extension://[PACKAGE ID]/[PATH]
, wat gegenereer kan word met dieextension.getURL method
. Toegelate hulpbronne word bedien met toepaslike CORS koptekste, so hulle is beskikbaar via meganismes soos XHR.1
Die web_accessible_resources
in 'n blaaier uitbreiding is nie net via die web toeganklik nie; hulle werk ook met die uitbreiding se inherente voorregte. Dit beteken hulle het die vermoë om:
Die uitbreiding se toestand te verander
Bykomende hulpbronne te laai
Met die blaaier tot 'n sekere mate te kommunikeer
Egter, hierdie kenmerk bied 'n sekuriteitsrisiko. As 'n hulpbron binne web_accessible_resources
enige beduidende funksionaliteit het, kan 'n aanvaller moontlik hierdie hulpbron in 'n eksterne webblad inkorporeer. Onbewuste gebruikers wat hierdie bladsy besoek, mag per ongeluk hierdie ingekorporeerde hulpbron aktiveer. So 'n aktivering kan lei tot onbedoelde gevolge, afhangende van die toestemmings en vermoëns van die uitbreiding se hulpbronne.
PrivacyBadger Voorbeeld
In die uitbreiding PrivacyBadger, is 'n kwesbaarheid geïdentifiseer wat verband hou met die skin/
gids wat verklaar is as web_accessible_resources
op die volgende manier (Kyk na die oorspronklike blogpos):
Hierdie konfigurasie het gelei tot 'n potensiële sekuriteitsprobleem. Spesifiek, die skin/popup.html
lêer, wat gerender word wanneer daar interaksie is met die PrivacyBadger ikoon in die blaaier, kon binne 'n iframe
ingebed word. Hierdie inbedding kon uitgebuit word om gebruikers te mislei om onbewustelik op "Disable PrivacyBadger for this Website" te klik. So 'n aksie sou die gebruiker se privaatheid in gevaar stel deur die PrivacyBadger beskerming te deaktiveer en die gebruiker moontlik aan verhoogde opsporing bloot te stel. 'n Visuele demonstrasie van hierdie uitbuiting kan gesien word in 'n ClickJacking video voorbeeld wat verskaf word by 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/*
uit die lys van web_accessible_resources
. Hierdie verandering het effektief die risiko verminder deur te verseker dat die inhoud van die skin/
gids nie deur web-toeganklike hulpbronne toegang of gemanipuleer kon word nie.
Die oplossing was maklik: verwyder /skin/*
uit die web_accessible_resources
.
PoC
Metamask Voorbeeld
'n blogpos oor 'n ClickJacking in metamask kan hier gevind word. In hierdie geval het Metamask die kwesbaarheid reggestel deur te verifieer dat die protokol wat gebruik is om toegang te verkry https:
of http:
was (nie chrome:
byvoorbeeld):
Nog 'n ClickJacking wat reggestel is in die Metamask-uitbreiding was dat gebruikers in staat was om Klik om op die witlys te plaas wanneer 'n bladsy verdag was om phishing te wees as gevolg van “web_accessible_resources”: [“inpage.js”, “phishing.html”]
. Aangesien daardie bladsy kwesbaar was vir Clickjacking, kon 'n aanvaller dit misbruik deur iets normaal te wys om die slagoffer te laat klik om dit op die witlys te plaas sonder om dit te besef, en dan terug te gaan na die phishing-bladsy wat op die witlys geplaas sal word.
Steam Inventory Helper Voorbeeld
Kyk na die volgende bladsy om te sien hoe 'n XSS in 'n blaaiers-uitbreiding geketting is met 'n ClickJacking kwesbaarheid:
BrowExt - XSS ExampleVerwysings
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated