Ana içeriğe geç

Clickjacking

Tıklama Gaspı

Okunuşu
klikceking
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/clickjacking

Kısaca

Clickjacking, meşru bir siteyi kötü amaçlı bir sayfada görünmez bir çerçeveye gizleyerek kullanıcıları göremedikleri düğmelere tıklamaya kandıran saldırıdır.

Clickjacking nedir?

UI redressing olarak da bilinen clickjacking, bir kullanıcıyı tıkladığını sandığından farklı bir şeye tıklamaya kandırır. Saldırganın sayfası, kurbanın oturum açtığı bir banka veya sosyal ağ gibi hedef siteyi bir iframe içinde yükler, bu çerçeveyi tamamen saydam yapar ve onu Oynat ya da Ödülü al gibi zararsız görünen bir düğmenin tam üzerine yerleştirir. Kurban tıkladığında tıklama aslında gizli siteye, örneğin bir Transfer, Hesabı sil veya Kameraya izin ver düğmesine gider.

Saldırı, çerçevelenen site kurbanın çerezleriyle yüklendiği için işe yarar; site tıklamayı oturum açmış kullanıcının gerçek bir eylemi sayar. Varyantları arasında sosyal medya düğmelerinde likejacking, gerçek imlecten kaydırılmış sahte bir imleç çizen cursorjacking ve kurbana birkaç tıklamayı adım adım yaptıran çok adımlı saldırılar vardır. Kullanıcı gerçekten tıkladığı için geçerli bir oturumu veya CSRF token'ını denetleyen savunmalar yardımcı olmaz.

Temel savunma, tarayıcılara sayfalarınızın başka siteler tarafından çerçevelenmemesi gerektiğini söylemektir. Modern yol, Content Security Policy direktifi frame-ancestors 'none' veya frame-ancestors 'self' kullanmaktır; eski X-Frame-Options: DENY veya SAMEORIGIN başlığı ise uyumluluk için hâlâ gönderilir. SameSite çerezleri bir katman daha ekler; çünkü siteler arası çerçeveler bu durumda kullanıcının oturumu olmadan yüklenir. Bu, size teslimat makbuzu gibi görünen bir belgeyi imzalarken, altındaki gizli bir karbon kâğıdının imzanızı başka bir belgeye kopyalamasına benzer.

Clickjacking sıklıkla CSRF ve XSS ile karıştırılır. CSRF'te saldırganın sayfası, kullanıcı hedef siteye hiç dokunmadan sahte bir istek gönderir; XSS'te ise saldırganın betiği hedef sitenin içinde çalışır. Clickjacking'de ise hiçbir kod enjekte edilmez ve hiçbir istek taklit edilmez: kurban, gizlenmiş hâldeyken hedef sitenin kendi düğmesine gerçekten tıklar.

Önemli noktalar

  • Clickjacking, gerçek bir siteyi yem bir sayfanın üzerinde saydam bir çerçevede gizler.
  • Kurbanın tıklaması gizli siteye gider ve kurbanın oturumuyla çalışır.
  • CSRF token'ları bunu durdurmaz; çünkü tıklamayı kullanıcı gerçekten yapar.
  • Çerçevelemeyi CSP frame-ancestors direktifi ve X-Frame-Options başlığıyla engelleyin.
  • SameSite çerezleri, siteler arası çerçeveleri oturumsuz bırakarak derinlemesine savunma ekler.

Örnek

Başka sitelerce çerçevelenmeyi reddetmekjavascript
// Tell browsers never to show these pages inside a frame on another site
app.use((req, res, next) => {
  // Modern standard: the Content Security Policy frame-ancestors directive
  res.setHeader("Content-Security-Policy", "frame-ancestors 'none'");
  // Older header, still sent for legacy browsers
  res.setHeader("X-Frame-Options", "DENY");
  next();
});

// If your own pages must frame the site, use 'self' and SAMEORIGIN instead

Sık sorulan sorular

Clickjacking'i nasıl önlerim?

Content-Security-Policy: frame-ancestors 'none' başlığını gönderin; kendi sayfalarınızın siteyi çerçevelemesi gerekiyorsa 'self' kullanın ve eski tarayıcılar için ayrıca X-Frame-Options: DENY gönderin. Bu başlıklar tarayıcıya, sayfalarınızı başka sitelerdeki çerçevelerde göstermeyi reddetmesini söyler.

X-Frame-Options kullanımdan kalktı mı?

Yerini, daha esnek olan ve ikisini de destekleyen tarayıcılarda öncelik taşıyan CSP frame-ancestors direktifi aldı. Birçok site azami uyumluluk için hâlâ iki başlığı da gönderir.

Clickjacking ile CSRF arasındaki fark nedir?

CSRF'te saldırganın sayfası, kurbanın oturum açtığı bir siteye sessizce sahte bir istek gönderir. Clickjacking'de ise kurban, görünmez bir çerçevede gizlenmiş bu sitedeki gerçek bir düğmeye tıklamaya kandırılır; bu yüzden anti-CSRF token'ları yardımcı olmaz.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar