Translated ['src/pentesting-web/clickjacking.md'] to tr

This commit is contained in:
Translator 2025-01-06 10:29:12 +00:00
parent 1556bee814
commit b34bcaa14e

View File

@ -12,10 +12,10 @@ Bazen bir sayfa yüklenirken **GET parametrelerini kullanarak bir formun alanlar
### Sürükle ve Bırak ile Form Doldurma
Kullanıcının bir **formu doldurmasını** istiyorsanız ancak ona bazı spesifik bilgileri (örneğin, bildiğiniz e-posta ve ya spesifik şifre) 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, tıpkı [**bu örnekteki**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/) gibi.
Kullanıcının bir **formu doldurmasını** istiyorsanız ancak ona bazı özel bilgileri (örneğin, bildiğiniz e-posta ve/veya özel şifre) 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, tıpkı [**bu örnekteki**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/) gibi.
### Temel Yük
```markup
```css
<style>
iframe {
position:relative;
@ -35,7 +35,7 @@ z-index: 1;
<iframe src="https://vulnerable.com/email?email=asd@asd.asd"></iframe>
```
### Çok Aşamalı Yük
```markup
```css
<style>
iframe {
position:relative;
@ -59,7 +59,7 @@ left:210px;
<iframe src="https://vulnerable.net/account"></iframe>
```
### Drag\&Drop + Tıklama yükü
```markup
```css
<html>
<head>
<style>
@ -89,11 +89,20 @@ background: #F00;
```
### XSS + Clickjacking
Eğer bir **kullanıcının** bazı öğelere tıklamasını gerektiren bir **XSS saldırısı** tespit ettiyseniz ve sayfa **clickjacking'e** karşı **zayıfsa**, kullanıcıyı butona/bağlantıya tıklamaya kandırmak için bunu kötüye kullanabilirsiniz.\
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**, bunu kullanarak kullanıcıyı butona/bağlantıya tıklamaya kandırabilirsiniz.\
Örnek:\
Hesabın bazı özel detaylarında bir **self XSS** buldunuz (bu detayları **sadece sizin ayarlayıp okuyabileceğiniz**). Bu detayları ayarlamak için kullanılan **form** **Clickjacking'e** karşı **zayıf** ve **formu** GET parametreleri ile **önceden doldurabilirsiniz**.\
Hesabın bazı özel detaylarında bir **self XSS** buldunuz (bu detayları **sadece sizin ayarlayıp okuyabileceğiniz**). Bu detayları ayarlamak için kullanılan **form** içeren sayfa **Clickjacking'e karşı savunmasız** ve **formu** GET parametreleri ile **önceden doldurabilirsiniz**.\
Bir saldırgan, bu sayfaya **XSS yükü** ile **formu** **önceden doldurarak** 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**.
### DoubleClickjacking
Öncelikle [bu yazıda açıklandığı gibi](https://securityaffairs.com/172572/hacking/doubleclickjacking-clickjacking-on-major-websites.html), bu teknik, kurbanın belirli bir konumda yerleştirilmiş özel bir sayfadaki bir butona çift tıklamasını isteyecek ve mousedown ile onclick olayları arasındaki zaman farklarını kullanarak kurban sayfasını çift tıklama sırasında yükleyecek, böylece **kurban aslında kurban sayfasındaki geçerli bir butona tıklamış olacak**.
Bir örnek bu videoda görülebilir: [https://www.youtube.com/watch?v=4rGvRRMrD18](https://www.youtube.com/watch?v=4rGvRRMrD18)
> [!WARNING]
> Bu teknik, kullanıcının kurban sayfasında 1 yere tıklamasını sağlamak için clickjacking'e karşı her türlü korumayı aşar. Bu nedenle saldırganın **sadece 1 tıklama ile yapılabilecek hassas eylemleri, örneğin OAuth izinlerini kabul eden istemleri** bulması gerekir.
## Clickjacking'i Azaltma Stratejileri
### İstemci Tarafı Savunmaları
@ -102,13 +111,13 @@ Bir saldırgan, bu sayfaya **XSS yükü** ile **formu** **önceden doldurarak**
- 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.
- Görünmez çerçevelerde tıklamaları önlemek.
- Kullanıcıları potansiyel Clickjacking girişimlerine karşı 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,
- **HTML5 iframe `sandbox` Özelliği:** Bir saldırgan, `allow-top-navigation` olmadan `allow-forms` veya `allow-scripts` değerleri ile `sandbox` özelliğini ayarlayarak çerçeve kırıcı betikleri etkisiz hale getirebilir. Bu, iframe'in en üst pencere olup olmadığını doğrulamasını engeller, örneğin,
```html
<iframe
id="victim_website"
@ -167,20 +176,20 @@ Bu politika, aynı kökenden (self) ve https://trusted-website.com adresinden ge
**Kullanım Notları:**
- Kullanımdan Kaldırma: child-src, frame-src ve worker-src lehine aşamalı olarak kaldırılmaktadır.
- Yedek Davranış: Eğer frame-src yoksa, child-src çerçeveler için yedek olarak kullanılır. Her ikisi de yoksa, default-src kullanılır.
- Yedek Davranış: Eğer frame-src yoksa, çerçeveler için yedek olarak child-src kullanılır. Her ikisi de yoksa, default-src kullanılır.
- Sıkı Kaynak Tanımı: Sömürüyü önlemek için direktiflerde yalnızca güvenilir kaynaklar dahil edilmelidir.
#### JavaScript Çerçeve Kırma Scriptleri
Tamamen güvenilir olmasa da, JavaScript tabanlı çerçeve kırma scriptleri, bir web sayfasının çerçevelenmesini önlemek için kullanılabilir. Örnek:
Tamamen güvenilir olmasa da, bir web sayfasının çerçevelenmesini önlemek için JavaScript tabanlı çerçeve kırma scriptleri kullanılabilir. Örnek:
```javascript
if (top !== self) {
top.location = self.location
}
```
#### Anti-CSRF Tokenlarının Kullanımı
#### Anti-CSRF Token'ların Kullanımı
- **Token Doğrulama:** Web uygulamalarında anti-CSRF tokenları kullanarak, durum değiştiren isteklerin kullanıcının niyetiyle ve Clickjacked bir sayfa aracılığıyla değil, kasıtlı olarak yapıldığından emin olun.
- **Token Doğrulama:** Web uygulamalarında anti-CSRF token'ları kullanarak, durum değiştiren isteklerin kullanıcının kasıtlı olarak yapıldığından ve Clickjacked bir sayfa aracılığıyla yapılmadığından emin olun.
## Referanslar