hacktricks/pentesting-web/account-takeover.md

8.5 KiB
Raw Blame History

Hesap Ele Geçirme

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Yetkilendirme Sorunu

Bir hesabın e-posta adresinin değiştirilmesi denenmeli ve onay süreci incelenmelidir. Eğer zayıf bulunursa, e-posta hedef kurbanın e-posta adresi ile değiştirilip onaylanmalıdır.

Unicode Normalizasyon Sorunu

  1. Hedef kurbanın hesabı victim@gmail.com
  2. Unicode kullanarak bir hesap oluşturulmalıdır
    örneğin: vićtim@gmail.com

bu konuşmadaıklandığı gibi, önceki saldırı üçüncü taraf kimlik sağlayıcılarını kötüye kullanarak da yapılabilir:

  • Kurbanın e-posta adresine benzer bir e-posta ile üçüncü taraf kimlik sağlayıcısında bir hesap oluşturun (vićtim@company.com).
  • Üçüncü taraf sağlayıcı e-posta adresini doğrulamamalıdır.
  • Eğer kimlik sağlayıcı e-posta adresini doğruluyorsa, belki de alan adı kısmını victim@ćompany.com gibi saldırıya uğratabilir ve o alan adını kaydedip kimlik sağlayıcının alan adının ascii versiyonunu oluşturmasını umabilirsiniz, bu sırada kurban platformu alan adı adını normalize eder.
  • Bu kimlik sağlayıcı aracılığıyla kurban platformuna giriş yapın, bu platform unicode karakterini normalize etmeli ve kurban hesabına erişmenize izin vermelidir.

Daha fazla ayrıntı için, Unicode Normalizasyonu belgesine bakın:

{% content-ref url="unicode-injection/unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}

Sıfırlama Token'ını Yeniden Kullanma

Hedef sistem sıfırlama bağlantısının yeniden kullanılmasına izin veriyorsa, gau, wayback veya scan.io gibi araçlar kullanarak daha fazla sıfırlama bağlantısı bulmak için çaba sarf edilmelidir.

Hesap Ele Geçirmeden Önce

  1. Kurbanın e-posta adresi platformda kaydolmak için kullanılmalı ve bir şifre belirlenmelidir (kurbanın e-postalarına erişim yoksa onaylama girişimi yapılamayabilir).
  2. Kurbanın OAuth kullanarak kaydolmasını ve hesabı onaylamasını beklemelidir.
  3. Normal kaydın onaylanması umulmakta, bu da kurbanın hesabına erişim sağlanmasını mümkün kılmaktadır.

CORS Yanlış Yapılandırması ile Hesap Ele Geçirme

Sayfa CORS yanlış yapılandırmaları içeriyorsa, kullanıcının hassas bilgilerini çalmak veya aynı amaçla kimlik bilgilerini değiştirmesini sağlamak için hesabını ele geçirebilirsiniz:

{% content-ref url="cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}

CSRF ile Hesap Ele Geçirme

Sayfa CSRF'ye karşı savunmasızsa, kullanıcının şifresini, e-posta adresini veya kimlik doğrulamasını değiştirmesini sağlayarak ona erişim sağlayabilirsiniz:

{% content-ref url="csrf-cross-site-request-forgery.md" %} csrf-cross-site-request-forgery.md {% endcontent-ref %}

XSS ile Hesap Ele Geçirme

Uygulamada bir XSS bulursanız, çerezleri, yerel depolamayı veya hesabı ele geçirmenizi sağlayacak web sayfasından bilgileri çalabilirsiniz:

{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}

Aynı Kaynak + Çerezler

Sınırlı bir XSS veya bir alt alan ele geçirme bulursanız, çerezlerle (örneğin, onları sabitleyerek) o kurban hesabını tehlikeye atmayı deneyebilirsiniz:

{% content-ref url="hacking-with-cookies/" %} hacking-with-cookies {% endcontent-ref %}

Şifre Sıfırlama Mekanizmasına Saldırı

{% content-ref url="reset-password.md" %} reset-password.md {% endcontent-ref %}

Yanıt Manipülasyonu

Eğer kimlik doğrulama yanıtı basit bir boolean'a indirgenebiliyorsa, false'u true olarak değiştirmeyi deneyin ve herhangi bir erişim elde edip edemediğinizi görün.

OAuth ile Hesap Ele Geçirme

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

Host Başlık Enjeksiyonu

  1. Şifre sıfırlama isteği başlatıldıktan sonra Host başlığı değiştirilir.
  2. X-Forwarded-For proxy başlığı attacker.com olarak değiştirilir.
  3. Host, Referrer ve Origin başlıkları aynı anda attacker.com olarak değiştirilir.
  4. Şifre sıfırlama başlatıldıktan sonra e-postayı yeniden göndermeyi seçerken, yukarıda belirtilen üç yöntem de kullanılır.

Yanıt Manipülasyonu

  1. Kod Manipülasyonu: Durum kodu 200 OK olarak değiştirilir.
  2. Kod ve Gövde Manipülasyonu:
  • Durum kodu 200 OK olarak değiştirilir.
  • Yanıt gövdesi {"success":true} veya boş bir nesne {} olarak değiştirilir.

Bu manipülasyon teknikleri, veri iletimi ve alımı için JSON kullanıldığında etkilidir.

Mevcut oturumun e-posta adresini değiştirme

bu rapordan:

  • Saldırgan yeni bir e-posta ile e-posta adresini değiştirmeyi talep eder.
  • Saldırgan, e-posta değişikliğini onaylamak için bir bağlantı alır.
  • Saldırgan, kurbana bağlantıyı gönderir, böylece tıklayabilir.
  • Kurbanın e-posta adresi saldırganın belirttiği e-posta adresi ile değiştirilir.
  • Saldırgan şifreyi kurtarabilir ve hesabı ele geçirebilir.

Bu, bu raporda da olmuştur.

Eski Çerezler

bu yazıdaıklandığı gibi, bir hesaba giriş yapmak, çerezleri kimlik doğrulaması yapılmış bir kullanıcı olarak kaydetmek, çıkış yapmak ve sonra tekrar giriş yapmak mümkündü.
Yeni girişle, farklı çerezler oluşturulmuş olsa da eski çerezler tekrar çalışmaya başladı.

Referanslar

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}