Clickjacking: görünmez bir frame üzerinden çalınan tıklamalar

Herhangi bir site sayfanı bir frame'e koyabiliyorsa, frame'i görünmez yapıp senin bir butonunu ziyaretçinin tıklamak istediği bir şeyin altına hizalayabilir.

Örnek

Zafiyetli
HTTP/1.1 200 OK
Content-Type: text/html
(no X-Frame-Options, no CSP frame-ancestors)
Güvenli
Content-Security-Policy: frame-ancestors 'self'
X-Frame-Options: DENY

Nasıl oluşur

Saldırganın sayfası seninkini şeffaf bir iframe'de yükler ve "Hesabı sil", "Ödemeyi onayla" veya "Kameraya izin ver" zararsız görünen bir butonun altına gelecek şekilde konumlandırır. Ziyaretçi sitende giriş yapmış durumdadır; tıklama gerçektir. Tek tıkla durum değiştiren her sayfa hedeftir.

Nasıl düzeltilir

Tarayıcıya seni kimin frame'e alabileceğini söyle.

  • Content-Security-Policy: frame-ancestors 'self' (veya 'none')
  • Eski tarayıcılar için X-Frame-Options: DENY veya SAMEORIGIN
  • Her HTML yanıtında header olarak gönder
  • İkinci savunma hattı olarak yıkıcı işlemlerde onay iste

RepoVerse bunu nasıl bulur

  • OrtaSayfalar herhangi bir site tarafından frame içine alınabiliyor

    Başka bir site sayfalarını görünmez bir frame'de açıp giriş yapmış ziyaretçiyi göremediği butonlara tıklatabilir — ayarları değiştirmek, ödeme onaylamak.

    web sitesi · CWE-1021

Sorular

frame-ancestors'ı meta etiketinde ayarlayabilir miyim?
Hayır. Tarayıcılar <meta> CSP'deki frame-ancestors'ı yok sayar; bir HTTP header'ı olmalıdır.
Sayfam gömülmek için tasarlandıysa?
Frame'e almayı herkese açık bırakmak yerine gömmesine izin verilen siteleri frame-ancestors'ta listele.

İlgili

Güncellendi 2026-10-11