hacktricks/pentesting-web/reset-password.md

230 lines
13 KiB
Markdown
Raw Normal View History

# Şifre Sıfırlama/Unutulan Şifre Bypass
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>HackTricks'i Destekleyin</summary>
2023-12-31 01:25:17 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
2023-02-27 09:28:45 +00:00
Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın!
2024-02-10 18:14:16 +00:00
**Hacking İçgörüleri**\
Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
2024-02-10 18:14:16 +00:00
**Gerçek Zamanlı Hack Haberleri**\
Gerçek zamanlı haberler ve içgörülerle hızlı tempolu hacking dünyasında güncel kalın
2024-02-10 18:14:16 +00:00
**Son Duyurular**\
Yeni başlayan bug bounty'ler ve kritik platform güncellemeleri hakkında bilgi sahibi olun
2024-02-10 18:14:16 +00:00
Bugün [**Discord**](https://discord.com/invite/N3FrSbmwdy) üzerinden bize katılın ve en iyi hackerlarla işbirliği yapmaya başlayın!
2024-02-10 18:14:16 +00:00
## **Referans Üzerinden Şifre Sıfırlama Tokeni Sızıntısı**
* HTTP referer başlığı, URL'de yer alıyorsa şifre sıfırlama tokenini sızdırabilir. Bu, bir kullanıcının şifre sıfırlama talep ettikten sonra üçüncü taraf bir web sitesi bağlantısına tıklaması durumunda gerçekleşebilir.
* **Etkisi**: Cross-Site Request Forgery (CSRF) saldırıları aracılığıyla potansiyel hesap ele geçirme.
* **Sömürü**: Referer başlığında bir şifre sıfırlama tokeninin sızıp sızmadığını kontrol etmek için, **şifre sıfırlama talebi** yapın ve sağlanan **sıfırlama bağlantısına** tıklayın. **Şifrenizi hemen değiştirmeyin.** Bunun yerine, **Burp Suite kullanarak istekleri yakalarken** **üçüncü taraf bir web sitesine** (Facebook veya Twitter gibi) gidin. **Referer başlığının şifre sıfırlama tokenini içerip içermediğini** kontrol edin, çünkü bu, hassas bilgilerin üçüncü taraflara ifşa olmasına neden olabilir.
2024-02-10 18:14:16 +00:00
* **Referanslar**:
* [HackerOne Raporu 342693](https://hackerone.com/reports/342693)
* [HackerOne Raporu 272379](https://hackerone.com/reports/272379)
* [Şifre Sıfırlama Tokeni Sızıntısı Makalesi](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
2024-02-10 18:14:16 +00:00
## **Şifre Sıfırlama Zehirleme**
* Saldırganlar, şifre sıfırlama talepleri sırasında Host başlığını manipüle ederek sıfırlama bağlantısını kötü niyetli bir siteye yönlendirebilir.
* **Etkisi**: Sıfırlama tokenlerini saldırganlara sızdırarak potansiyel hesap ele geçirme.
* **Hafifletme Adımları**:
* Host başlığını izin verilen alanların beyaz listesi ile doğrulayın.
* Kesin URL'ler oluşturmak için güvenli, sunucu tarafı yöntemleri kullanın.
* **Yaman**: `$_SERVER['SERVER_NAME']` kullanarak şifre sıfırlama URL'lerini oluşturun, `$_SERVER['HTTP_HOST']` yerine.
2024-02-10 18:14:16 +00:00
* **Referanslar**:
* [Şifre Sıfırlama Zehirleme Üzerine Acunetix Makalesi](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
2024-02-10 18:14:16 +00:00
## **E-posta Parametresini Manipüle Ederek Şifre Sıfırlama**
Saldırganlar, sıfırlama bağlantısını saptırmak için ek e-posta parametreleri ekleyerek şifre sıfırlama talebini manipüle edebilir.
* Saldırgan e-posta adresini ikinci parametre olarak & ile ekleyin.
```php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
```
* Saldırgan e-posta adresini ikinci parametre olarak %20 kullanarak ekleyin
```php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
```
* Saldırgan e-posta adresini ikinci parametre olarak | kullanarak ekleyin
```php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* Saldırgan e-posta adresini ikinci parametre olarak cc kullanarak ekleyin
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
```
* Saldırgan e-posta adresini ikinci parametre olarak bcc kullanarak ekleyin
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
```
* Saldırgan e-posta adresini ikinci parametre olarak ekleyin,
```php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
```
* Saldırgan e-posta adresini json dizisinde ikinci parametre olarak ekleyin
```php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
```
* **Mitigation Steps**:
* E-posta parametrelerini sunucu tarafında doğru bir şekilde ayrıştırın ve doğrulayın.
* Enjeksiyon saldırılarını önlemek için hazırlıklı ifadeler veya parametreli sorgular kullanın.
* **References**:
* [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be)
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
2024-02-10 18:14:16 +00:00
## **API Parametreleri ile Herhangi Bir Kullanıcının E-posta ve Şifresini Değiştirme**
* Saldırganlar, hesap kimlik bilgilerini değiştirmek için API isteklerindeki e-posta ve şifre parametrelerini değiştirebilir.
```php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
```
* **Azaltma Adımları**:
* Katı parametre doğrulama ve kimlik doğrulama kontrolleri sağlamak.
* Şüpheli etkinlikleri tespit etmek ve yanıt vermek için sağlam günlükleme ve izleme uygulamak.
2024-02-10 18:14:16 +00:00
* **Referans**:
* [API Parametre Manipülasyonu ile Tam Hesap Ele Geçirme](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
2024-02-10 18:14:16 +00:00
## **Hız Sınırlandırması Yok: E-posta Bombardımanı**
* Şifre sıfırlama taleplerinde hız sınırlaması olmaması, kullanıcıyı sıfırlama e-postalarıyla bunaltabilir.
* **Azaltma Adımları**:
* IP adresine veya kullanıcı hesabına dayalı hız sınırlaması uygulamak.
* Otomatik kötüye kullanımı önlemek için CAPTCHA zorlukları kullanmak.
2024-02-10 18:14:16 +00:00
* **Referanslar**:
* [HackerOne Raporu 280534](https://hackerone.com/reports/280534)
2024-02-10 18:14:16 +00:00
## **Şifre Sıfırlama Token'ının Nasıl Üretildiğini Bulma**
* Token üretimi arkasındaki desen veya yöntemi anlamak, token'ları tahmin etmeye veya brute-force yapmaya yol açabilir. Bazı seçenekler:
* Zaman Damgasına Dayalı
* Kullanıcı Kimliğine Dayalı
* Kullanıcının E-posta Adresine Dayalı
* Ad ve Soyadına Dayalı
* Doğum Tarihine Dayalı
* Kriptografi Temelli
* **Azaltma Adımları**:
* Token üretimi için güçlü, kriptografik yöntemler kullanmak.
* Tahmin edilebilirliği önlemek için yeterli rastgelelik ve uzunluk sağlamak.
* **Araçlar**: Token'ların rastgeleliğini analiz etmek için Burp Sequencer kullanın.
2024-02-10 18:14:16 +00:00
## **Tahmin Edilebilir UUID**
* UUID'ler (versiyon 1) tahmin edilebilir veya öngörülebilir ise, saldırganlar geçerli sıfırlama token'ları oluşturmak için brute-force yapabilir. Kontrol edin:
{% content-ref url="uuid-insecurities.md" %}
[uuid-insecurities.md](uuid-insecurities.md)
{% endcontent-ref %}
* **Azaltma Adımları**:
* Rastgelelik için GUID versiyon 4 kullanın veya diğer versiyonlar için ek güvenlik önlemleri uygulayın.
* **Araçlar**: GUID'leri analiz etmek ve oluşturmak için [guidtool](https://github.com/intruder-io/guidtool) kullanın.
## **Yanıt Manipülasyonu: Kötü Yanıtı İyi Olanla Değiştirme**
2024-02-10 18:14:16 +00:00
* Hata mesajlarını veya kısıtlamaları aşmak için HTTP yanıtlarını manipüle etme.
* **Azaltma Adımları**:
* Yanıt bütünlüğünü sağlamak için sunucu tarafı kontrolleri uygulamak.
* Adam ortası saldırılarını önlemek için HTTPS gibi güvenli iletişim kanalları kullanmak.
2024-02-10 18:14:16 +00:00
* **Referans**:
* [Canlı Hata Avı Etkinliğinde Kritik Hata](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
## **Süresi Dolmuş Token Kullanma**
* Süresi dolmuş token'ların hala şifre sıfırlama için kullanılıp kullanılamayacağını test etme.
* **Azaltma Adımları**:
* Katı token süresi dolma politikaları uygulamak ve token süresini sunucu tarafında doğrulamak.
2024-02-10 18:14:16 +00:00
## **Brute Force Şifre Sıfırlama Token'ı**
* IP tabanlı hız sınırlamalarını aşmak için Burpsuite ve IP-Rotator gibi araçlar kullanarak sıfırlama token'ını brute-force yapma girişimi.
* **Azaltma Adımları**:
* Sağlam hız sınırlama ve hesap kilitleme mekanizmaları uygulamak.
* Brute-force saldırılarını gösteren şüpheli etkinlikleri izlemek.
## **Token'ınızı Kullanmayı Deneyin**
* Bir saldırganın sıfırlama token'ının mağdurun e-posta adresi ile birlikte kullanılıp kullanılamayacağını test etme.
* **Azaltma Adımları**:
* Token'ların kullanıcı oturumu veya diğer kullanıcıya özgü özelliklere bağlı olduğundan emin olun.
## **Oturum Geçersiz Kılma: Çıkış/Yeni Şifre Sıfırlama**
* Kullanıcı çıkış yaptığında veya şifresini sıfırladığında oturumların geçersiz kılındığından emin olma.
* **Azaltma Adımları**:
* Tüm oturumların çıkış veya şifre sıfırlama sırasında geçersiz kılındığından emin olmak için uygun oturum yönetimi uygulamak.
## **Oturum Geçersiz Kılma: Çıkış/Yeni Şifre Sıfırlama**
* Sıfırlama token'larının geçersiz hale gelmeden önce bir son kullanma süresi olmalıdır.
* **Azaltma Adımları**:
* Sıfırlama token'ları için makul bir son kullanma süresi belirleyin ve bunu sunucu tarafında katı bir şekilde uygulayın.
2024-02-10 18:14:16 +00:00
## Referanslar
2024-02-05 02:28:59 +00:00
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
2023-07-14 15:03:41 +00:00
Deneyimli hackerlar ve hata avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın!
2022-10-27 23:22:18 +00:00
**Hacking İçgörüleri**\
Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
2022-10-27 23:22:18 +00:00
2024-02-10 18:14:16 +00:00
**Gerçek Zamanlı Hack Haberleri**\
Gerçek zamanlı haberler ve içgörülerle hızlı tempolu hacking dünyasında güncel kalın
2023-02-27 09:28:45 +00:00
**Son Duyurular**\
Yeni başlayan hata ödülleri ve kritik platform güncellemeleri hakkında bilgi sahibi olun
2023-02-27 09:28:45 +00:00
**Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla işbirliği yapmaya başlayın!
2022-10-27 23:22:18 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>HackTricks'i Destekleyin</summary>
2023-12-31 01:25:17 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}