Sıfırlama/Unutulmuş Şifre Bypass
Reading time: 6 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
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 görmek için istekleri inceleyin, çünkü bu üçüncü taraflara hassas bilgileri açığa çıkarabilir.
- Referanslar:
- HackerOne Raporu 342693
- HackerOne Raporu 272379
- Şifre Sıfırlama Tokeni Sızıntısı Makalesi
Ş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çirmeye yol açar.
- 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:
- Acunetix Şifre Sıfırlama Zehirleme Makalesi
E-posta Parametresini Manipüle Ederek Şifre Sıfırlama
Saldırganlar, sıfırlama bağlantısını yönlendirmek için ek e-posta parametreleri ekleyerek şifre sıfırlama talebini manipüle edebilir.
- 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 %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"]}
- Azaltma Adımları:
- 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.
- Referanslar:
- 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://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ğrulaması ve kimlik doğrulama kontrolleri sağlanmalıdır.
- Şüpheli etkinlikleri tespit etmek ve yanıt vermek için sağlam günlükleme ve izleme uygulayın.
- Referans:
- API Parametre Manipülasyonu ile Tam Hesap Ele Geçirme
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 boğabilir.
- Azaltma Adımları:
- IP adresine veya kullanıcı hesabına dayalı hız sınırlaması uygulayın.
- Otomatik kötüye kullanımı önlemek için CAPTCHA zorlukları kullanın.
- Referanslar:
- HackerOne Raporu 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 kullanın.
- Tahmin edilebilirliği önlemek için yeterli rastgelelik ve uzunluk sağladığınızdan emin olun.
- Araçlar: Token'ların rastgeleliğini analiz etmek için Burp Sequencer kullanın.
Tahmin Edilebilir UUID
- UUID'ler (sürüm 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:
- Azaltma Adımları:
- Rastgelelik için GUID sürüm 4 kullanın veya diğer sürümler için ek güvenlik önlemleri uygulayın.
- Araçlar: GUID'leri analiz etmek ve oluşturmak için guidtool kullanın.
Yanıt Manipülasyonu: Kötü Yanıtı İyi ile 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 uygulayın.
- Adam ortası saldırılarını önlemek için HTTPS gibi güvenli iletişim kanalları kullanın.
- Referans:
- Canlı Hata Ödül Etkinliğinde Kritik Hata
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ı uygulayın ve token süresini sunucu tarafında doğrulayın.
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.
- Azaltma Adımları:
- Sağlam hız sınırlama ve hesap kilitleme mekanizmaları uygulayın.
- Brute-force saldırılarını gösteren şüpheli etkinlikleri izleyin.
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 uygulayın.
Oturum Geçersiz Kılma: Çıkış/Yeni Şifre Sıfırlama
- Sıfırlama token'larının geçersiz hale geldiği bir süresi olmalıdır.
- Azaltma Adımları:
- Sıfırlama token'ları için makul bir süre belirleyin ve bunu sunucu tarafında sıkı bir şekilde uygulayın.
Referanslar
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.