# Clickjacking
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
\
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %}
## Clickjacking Nedir
Bir clickjacking saldırısında, bir **kullanıcı**, bir web sayfasındaki **görünmez** veya farklı bir öğe olarak gizlenmiş bir **öğe** üzerine **tıklamaya** **kandırılır**. Bu manipülasyon, kullanıcının istemeden kötü amaçlı yazılım indirmesi, kötü niyetli web sayfalarına yönlendirilmesi, kimlik bilgileri veya hassas bilgilerin sağlanması, para transferleri veya ürünlerin çevrimiçi satın alınması gibi istenmeyen sonuçlara yol açabilir.
### Formları Önceden Doldurma Hilesi
Bazen bir sayfa yüklenirken **GET parametrelerini kullanarak bir formun alanlarının değerini doldurmak** mümkündür. Bir saldırgan, bu davranışı kötüye kullanarak bir formu rastgele verilerle doldurabilir ve kullanıcının Gönder butonuna basması için clickjacking yükünü gönderebilir.
### Sürükle ve Bırak ile Form Doldurma
Kullanıcının bir **formu doldurmasını** istiyorsanız ancak ona bazı özel bilgileri (bildiğiniz e-posta veya özel şifre gibi) yazmasını doğrudan istemek istemiyorsanız, ona sadece **Sürükle ve Bırak** yapmasını isteyebilirsiniz; bu, kontrol ettiğiniz verileri yazacaktır, [**bu örnekteki gibi**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Temel Yük
```markup
Click me
```
### Çok Aşamalı Yükleme
```markup
Click me first
Click me next
```
### Sürükle\&Bırak + Tıkla yükü
```markup
.
1. Click and press delete button
3.Click me
2.DRAG ME TO THE RED BOX
```
### XSS + Clickjacking
Eğer bir **kullanıcının tıklamasını gerektiren bir XSS saldırısı** tespit ettiyseniz ve sayfa **clickjacking'e karşı savunmasızsa**, kullanıcıyı butona/bağlantıya tıklamaya kandırmak için bunu kötüye kullanabilirsiniz.\
Örnek:\
_Hesabın bazı özel detaylarında bir **self XSS** buldunuz (bu detayları **sadece siz ayarlayabilir ve okuyabilirsiniz**). Bu detayları ayarlamak için kullanılan **formun** bulunduğu sayfa **Clickjacking'e karşı savunmasız** ve **formu** GET parametreleri ile **önceden doldurabilirsiniz**._\
\_\_Bir saldırgan, **formu** **XSS yükü** ile **önceden doldurarak** o sayfaya bir **Clickjacking** saldırısı hazırlayabilir ve **kullanıcıyı** formu **göndermeye** **kandırabilir**. Böylece, **form gönderildiğinde** ve değerler değiştirildiğinde, **kullanıcı XSS'i çalıştıracaktır**.
## Clickjacking'i Azaltma Stratejileri
### İstemci Tarafı Savunmaları
İstemci tarafında yürütülen betikler, Clickjacking'i önlemek için eylemler gerçekleştirebilir:
* Uygulama penceresinin ana veya üst pencere olduğundan emin olmak.
* Tüm çerçevelerin görünür olmasını sağlamak.
* Görünmez çerçevelere tıklamayı önlemek.
* Kullanıcıları potansiyel Clickjacking girişimlerine karşı tespit etmek ve uyarmak.
Ancak, bu çerçeve kırıcı betikler aşılabilir:
* **Tarayıcıların Güvenlik Ayarları:** Bazı tarayıcılar, güvenlik ayarlarına veya JavaScript desteğinin eksikliğine bağlı olarak bu betikleri engelleyebilir.
* **HTML5 iframe `sandbox` Özelliği:** Bir saldırgan, `allow-forms` veya `allow-scripts` değerleri ile `sandbox` özelliğini ayarlayarak çerçeve kırıcı betikleri etkisiz hale getirebilir, `allow-top-navigation` olmadan. Bu, iframe'in üst pencere olup olmadığını doğrulamasını engeller, örneğin,
```html
```
The `allow-forms` ve `allow-scripts` değerleri, iframe içinde eylemleri etkinleştirirken üst düzey navigasyonu devre dışı bırakır. Hedeflenen sitenin beklenen işlevselliğini sağlamak için, saldırı türüne bağlı olarak `allow-same-origin` ve `allow-modals` gibi ek izinler gerekli olabilir. Tarayıcı konsol mesajları, hangi izinlerin verilmesi gerektiği konusunda rehberlik edebilir.
### Sunucu Tarafı Savunmaları
#### X-Frame-Options
**`X-Frame-Options` HTTP yanıt başlığı**, tarayıcılara bir sayfanın `` veya `