mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-29 08:01:00 +00:00
229 lines
13 KiB
Markdown
229 lines
13 KiB
Markdown
# Şifre Sıfırlama/Unutulan Şifre Bypass
|
||
|
||
{% 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)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**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.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın!
|
||
|
||
**Hacking İçgörüleri**\
|
||
Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
|
||
|
||
**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
|
||
|
||
**Son Duyurular**\
|
||
Yeni başlayan bug bounty'ler ve kritik platform güncellemeleri hakkında bilgi sahibi olun
|
||
|
||
Bugün [**Discord**](https://discord.com/invite/N3FrSbmwdy) üzerinden bize katılın ve en iyi hackerlarla işbirliği yapmaya başlayın!
|
||
|
||
## **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.
|
||
* **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)
|
||
|
||
## **Ş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.
|
||
* **Referanslar**:
|
||
* [Şifre Sıfırlama Zehirleme Üzerine Acunetix Makalesi](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
|
||
|
||
## **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)
|
||
|
||
## **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.
|
||
* **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)
|
||
|
||
## **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.
|
||
* **Referanslar**:
|
||
* [HackerOne Raporu 280534](https://hackerone.com/reports/280534)
|
||
|
||
## **Ş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.
|
||
|
||
## **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**
|
||
|
||
* 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.
|
||
* **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.
|
||
|
||
## **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.
|
||
|
||
## Referanslar
|
||
|
||
* [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>
|
||
|
||
Deneyimli hackerlar ve hata avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın!
|
||
|
||
**Hacking İçgörüleri**\
|
||
Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
|
||
|
||
**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
|
||
|
||
**Son Duyurular**\
|
||
Yeni başlayan hata ödülleri ve kritik platform güncellemeleri hakkında bilgi sahibi olun
|
||
|
||
**Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla işbirliği yapmaya başlayın!
|
||
|
||
{% 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)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**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.
|
||
|
||
</details>
|
||
{% endhint %}
|