hacktricks/pentesting-web/account-takeover.md

134 lines
7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hesap Ele Geçirme
<details>
<summary><strong>AWS hackleme konusunda sıfırdan kahramana kadar öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini** alın](https://peass.creator-spring.com)
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR gönderin.**
</details>
## **Yetkilendirme Sorunu**
Bir hesabın e-postası değiştirilmeye çalışılmalı ve onay süreci **incelenmelidir**. Eğer **zayıf** bulunursa, e-posta hedef kurbanın e-postasıyla değiştirilmeli ve ardından onaylanmalıdır.
## **Unicode Normalizasyon Sorunu**
1. Hedef kurbanın hesabı `victim@gmail.com`
2. Unicode kullanılarak bir hesap oluşturulmalıdır\
örneğin: `vićtim@gmail.com`
Daha fazla ayrıntı için Unicode Normalizasyon belgesine başvurun:
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
## **Sıfırdan Token Kullanımı**
Hedef sistem **sıfırdan bağlantıyı yeniden kullanmaya izin veriyorsa**, `gau`, `wayback` veya `scan.io` gibi araçlar kullanılarak **daha fazla sıfırlama bağlantısı bulunmaya çalışılmalıdır**.
## **Hesap Ele Geçirmeden Önce**
1. Kurbanın e-postası platformda kayıt olmak için kullanılmalı ve bir şifre belirlenmelidir (onaylamak için bir deneme yapılmalıdır, ancak kurbanın e-postalarına erişim olmaması durumunda bu imkansız hale gelebilir).
2. Kurbanın OAuth kullanarak kaydolup hesabı onaylaması beklenmelidir.
3. Kurbanın hesabına erişim sağlayacak şekilde düzenli kaydın onaylanacağı umulur.
## **Hesap Ele Geçirme için CORS Yanlı Yapılandırma**
Eğer sayfa **CORS yanlı yapılandırmaları** içeriyorsa, kullanıcıdan **duyarlı bilgileri çalabilir** ve hesabını **ele geçirebilir** veya aynı amaçla kimlik doğrulama bilgilerini değiştirebilirsiniz:
{% content-ref url="cors-bypass.md" %}
[cors-bypass.md](cors-bypass.md)
{% endcontent-ref %}
## **Csrf ile Hesap Ele Geçirme**
Eğer sayfa CSRF'ye karşı savunmasızsa, **kullanıcıyı şifresini değiştirmeye zorlayabilir** veya kimlik doğrulama bilgilerini değiştirebilir ve ardından erişebilirsiniz:
{% content-ref url="csrf-cross-site-request-forgery.md" %}
[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 depolama alanını veya hesabı ele geçirmenize izin verebilecek web sayfasından bilgileri çalabilirsiniz:
{% content-ref url="xss-cross-site-scripting/" %}
[xss-cross-site-scripting](xss-cross-site-scripting/)
{% endcontent-ref %}
## **Aynı Köken + Çerezler**
Sınırlı bir XSS veya alt alan ele geçirme bulursanız, çerezlerle oynayabilir (örneğin sabitleyebilir) ve kurbanın hesabını tehlikeye atabilirsiniz:
{% content-ref url="hacking-with-cookies/" %}
[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](reset-password.md)
{% endcontent-ref %}
## **Yanıt Manipülasyonu**
Eğer kimlik doğrulama yanıtı **basit bir boole değerine indirgenebiliyorsa, sadece false'ı true'a 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](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 posta yeniden gönderme seçeneği seçilirse, 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'un kullanıldığı senaryolarda etkilidir.
## Mevcut Oturumun E-postasını Değiştirme
[Şu raporda](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
* Saldırgan e-postasını yeni bir e-posta ile değiştirmek için talepte bulunur
* Saldırgan, e-posta değişikliğini onaylamak için bir bağlantı alır
* Saldırgan, kurbanın bağlantıya tıklaması için kurbanın e-postasını gönderir
* Kurbanın e-postası, saldırgan tarafından belirtilen e-postaya değiştirilir
* Saldırgan şifreyi kurtarabilir ve hesabı ele geçirebilir
Bu ayrıca [**bu raporda**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea) da gerçekleşti.
## Referanslar
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
* [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
<details>
<summary><strong>AWS hackleme konusunda sıfırdan kahramana kadar öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini** alın](https://peass.creator-spring.com)
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR gönderin.**
</details>