BrowExt - ClickJacking
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bu sayfa, bir Tarayıcı uzantısındaki ClickJacking açığını kötüye kullanacak. ClickJacking'in ne olduğunu bilmiyorsanız kontrol edin:
Uzantılar, manifest.json
dosyasını içerir ve bu JSON dosyasında web_accessible_resources
alanı vardır. İşte Chrome belgelerinin bu konuda söyledikleri:
Bu kaynaklar,
chrome-extension://[PACKAGE ID]/[PATH]
URL'si aracılığıyla bir web sayfasında mevcut olacaktır; bu,extension.getURL method
ile oluşturulabilir. Beyaz listeye alınmış kaynaklar, uygun CORS başlıkları ile sunulur, bu nedenle XHR gibi mekanizmalar aracılığıyla erişilebilir.1
Bir tarayıcı uzantısındaki web_accessible_resources
, yalnızca web üzerinden erişilebilir değildir; aynı zamanda uzantının doğal ayrıcalıklarıyla da çalışır. Bu, şunları yapabilme yeteneğine sahip oldukları anlamına gelir:
Uzantının durumunu değiştirmek
Ek kaynaklar yüklemek
Tarayıcı ile belirli bir ölçüde etkileşimde bulunmak
Ancak, bu özellik bir güvenlik riski taşır. Eğer web_accessible_resources
içindeki bir kaynak önemli bir işlevselliğe sahipse, bir saldırgan bu kaynağı dış bir web sayfasına gömebilir. Bu sayfayı ziyaret eden dikkatsiz kullanıcılar, bu gömülü kaynağı istemeden etkinleştirebilir. Böyle bir etkinleştirme, uzantının kaynaklarının izinlerine ve yeteneklerine bağlı olarak istenmeyen sonuçlara yol açabilir.
PrivacyBadger uzantısında, skin/
dizininin aşağıdaki şekilde web_accessible_resources
olarak ilan edilmesiyle ilgili bir güvenlik açığı tespit edilmiştir (Orijinal blog yazısını kontrol edin):
Bu yapılandırma potansiyel bir güvenlik sorununa yol açtı. Özellikle, tarayıcıdaki PrivacyBadger simgesi ile etkileşimde bulunulduğunda render edilen skin/popup.html
dosyası, bir iframe
içinde gömülebilir. Bu gömme, kullanıcıları "Bu Web Sitesi için PrivacyBadger'ı Devre Dışı Bırak" butonuna yanlışlıkla tıklamaya kandırmak için sömürülebilir. Böyle bir eylem, kullanıcının gizliliğini tehlikeye atarak PrivacyBadger korumasını devre dışı bırakır ve kullanıcıyı artan izlemeye maruz bırakabilir. Bu istismarın görsel bir gösterimi, https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm adresinde sağlanan bir ClickJacking video örneğinde görülebilir.
Bu güvenlik açığını gidermek için basit bir çözüm uygulandı: /skin/*
'in web_accessible_resources
listesinden kaldırılması. Bu değişiklik, skin/
dizininin içeriğinin web erişilebilir kaynaklar aracılığıyla erişilemez veya manipüle edilemez olmasını sağlayarak riski etkili bir şekilde azalttı.
Düzeltme kolaydı: web_accessible_resources
'dan /skin/*
'i kaldırın.
A ClickJacking hakkında bir blog yazısı metamask'ta burada bulunabilir. Bu durumda, Metamask, erişim için kullanılan protokolün https:
veya http:
(örneğin chrome:
değil) olduğunu kontrol ederek açığı kapattı:
Metamask uzantısında düzeltildi başka bir ClickJacking, kullanıcıların “web_accessible_resources”: [“inpage.js”, “phishing.html”]
nedeniyle bir sayfa şüpheli olduğunda Beyaz listeye almak için tıklama yapabilmesiydi. O sayfa Clickjacking'e karşı savunmasız olduğundan, bir saldırgan, kurbanın fark etmeden beyaz listeye alması için normal bir şey göstererek bunu kötüye kullanabilir ve ardından beyaz listeye alınacak olan phishing sayfasına geri dönebilir.
Bir tarayıcı uzantısındaki XSS'nin bir ClickJacking açığı ile nasıl zincirleme yapıldığını kontrol etmek için aşağıdaki sayfayı kontrol edin:
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)