mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/clickjacking.md'] to tr
This commit is contained in:
parent
1556bee814
commit
b34bcaa14e
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user