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:
ClickjackingUzantı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 URL,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 tanımlanmasıyla ilgili bir açık 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, PrivacyBadger korumasını devre dışı bırakarak kullanıcının gizliliğini tehlikeye atar 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 ile ilgili bir blog yazısı 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ği başka bir ClickJacking, kullanıcıların “web_accessible_resources”: [“inpage.js”, “phishing.html”]
nedeniyle bir sayfanın phishing olduğundan şüphelenildiğinde Beyaz Listeye Tıklama yapabilmeleriydi. 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 phishing sayfasına geri dönebilirdi.
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ı inceleyin:
BrowExt - XSS ExampleLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)