Clickjacking nedir?
Clickjacking, kullanıcının gördüğü sayfanın altına ya da üstüne görünmez bir sayfa yerleştirerek, kullanıcıyı farkında olmadan başka bir sitede işlem yapmaya yönlendiren saldırı yöntemidir. Kullanıcı masum bir düğmeye tıkladığını sanırken aslında başka bir sitedeki düğmeye basar.
Saldırı, hedef sitenin bir iframe içinde gömülebilmesine dayanır. Saldırgan bu çerçeveyi şeffaf yapar ve çekici bir içeriğin üzerine bindirir.
Nasıl çalışır?
Kullanıcı, saldırganın hazırladığı sayfayı açar. Sayfada “ödülü al” gibi bir düğme görünür, ancak bu düğmenin tam üzerinde hedef sitenin şeffaf bir sayfası durur. Kullanıcı oturum açmışsa tıklama o sitede bir işlem olarak gerçekleşir; örneğin bir ayarı değiştirir, bir paylaşımı onaylar ya da bir satın alma adımını ilerletir.
Bu saldırı, kullanıcının zaten giriş yapmış olmasını kullandığı için kimlik doğrulamayı atlatmaz; sadece meşru oturumu kötüye kullanır.
Sunucu ve hosting ortamında
Koruma sunucu tarafında HTTP yanıt başlıklarıyla sağlanır. Eski yöntem X-Frame-Options başlığıdır; modern ve daha esnek yöntem ise Content-Security-Policy içindeki frame-ancestors yönergesidir. Bu başlıklar Apache, Nginx veya LiteSpeed yapılandırmasında ya da uygulama kodunda eklenebilir.
Hosting kullanıcıları .htaccess dosyasıyla Apache üzerinde başlık ekleyebilir. Kontrol panelleri (cPanel, Plesk, DirectAdmin) ve bazı CMS eklentileri de bu başlıkları yönetmeyi kolaylaştırır. Başlığın gerçekten yanıtta göründüğünü tarayıcı geliştirici araçlarıyla doğrulayın.
Nasıl korunulur?
Content-Security-Policy: frame-ancestors 'self'ile yalnızca kendi sitenizin sayfalarınızı çerçevelemesine izin verin- Uyumluluk için
X-Frame-Options: SAMEORIGINbaşlığını da ekleyin - Gerçekten gömülmesi gereken sayfalar için izinli alan adlarını açıkça listeleyin
- Hassas işlemlerde ek doğrulama (parola, onay kodu) isteyin
- Çerezlerde
SameSiteözniteliğini kullanın - Başlıkları bir güvenlik başlığı tarayıcısıyla düzenli test edin
Sık yapılan hatalar
- Yalnızca JavaScript tabanlı “çerçeve kırıcı” kodlara güvenmek
- Yönetim paneli ve giriş sayfalarını başlık kapsamı dışında bırakmak
X-Frame-Optionsdeğerini yanlış yazmak veya geçersiz bir değer vermek- Başlığı yalnızca ana sayfaya ekleyip diğer sayfaları unutmak
Sık sorulan sorular
Clickjacking nedir, nasıl önlenir?
Kullanıcıyı görünmez bir çerçeve aracılığıyla farkında olmadan tıklamaya yönlendiren saldırıdır. Sitenizin başka sitelerde çerçevelenmesini yanıt başlıklarıyla engelleyerek önlenir.
X-Frame-Options ile frame-ancestors arasındaki fark nedir?
X-Frame-Options eski ve sınırlı bir başlıktır; yalnızca birkaç değer destekler. frame-ancestors ise CSP içinde çalışır ve izin verilen alan adlarını tek tek tanımlamanıza imkân tanır.
Clickjacking şifremi çalar mı?
Doğrudan parola çalmaz, ancak oturum açmış kullanıcının yetkisiyle istenmeyen bir işlem yaptırabilir. Bu yüzden hassas işlemler için ek doğrulama önemlidir.
Bu terimin geçtiği rehberler
İlgili terimler
- CSRF (Siteler arası istek sahteciliği)Oturum açmış kullanıcının haberi olmadan istenmeyen bir işlemi tetiklemek.
- CVEHerkese açık güvenlik açıklarına verilen ortak kimlik.
- CVSSAçığın ciddiyetini 0-10 arası puanlayan standart.
- DDoS (Dağıtık hizmet reddi)Çok sayıda kaynaktan eşzamanlı yapılan hizmet reddi saldırısı.
- Dizin geçişi (path traversal)Dosya yoluna ../ ekleyerek hedeflenen dizinin dışındaki dosyalara erişmek.
- DNS zehirlenmesi (DNS cache poisoning)DNS önbelleğine sahte kayıt yerleştirerek kullanıcıları yanlış adrese yönlendirmek.