githubEdit

Broken Authentication

User Enumeration

Identify

  • Different error messages for valid vs invalid usernames

  • "Unknown user" vs "Invalid password"

  • Response timing differences

Exploit - ffuf User Enumeration

ffuf -w /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt \
     -u http://TARGET/index.php \
     -X POST \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "username=FUZZ&password=invalid" \
     -fr "Unknown user"

Password Brute Force

Filter Wordlist by Password Policy

Exploit - ffuf Password Brute Force


Password Reset Token Brute Force

Identify

  • Short numeric token (4-6 digits)

  • Token in URL: ?token=7351

  • No rate limiting

Generate Token Wordlist

Exploit - ffuf Reset Token Brute Force


2FA Bypass

Identify

  • Short OTP (4-6 digits)

  • No lockout after failed attempts

  • No rate limiting

Exploit - ffuf 2FA Brute Force


Rate Limit Bypass

Identify

  • Rate limit uses X-Forwarded-For header

  • CVE-2020-35590 pattern

Exploit - Randomize X-Forwarded-For


Security Question Brute Force

Identify

  • Predictable questions: "What city were you born in?"

  • No rate limiting on answers

Create City Wordlist

Exploit - ffuf Security Question Brute Force


Password Reset Manipulation

Identify

  • Hidden username parameter in reset form

  • Username passed through all reset steps

Exploit - Change Username in Final Request

Answer YOUR security question → change username to victim in final step.


Authentication Bypass - Direct Access

Identify

  • Protected page returns 302 redirect but body contains content

  • Missing exit; after redirect

Exploit - Burp Response Modification

  1. Intercept → Do intercept → Response to this request

  2. Change 302 Found to 200 OK

  3. Forward response → page renders

Exploit - curl


Authentication Bypass - Parameter Modification

Identify

  • user_id parameter in URL after login

  • Removing parameter causes redirect

  • Sequential/guessable IDs

Exploit


Session Token Attacks

Identify Weak Tokens

  • Short length (< 16 chars)

  • Sequential/incrementing

  • Static portions with small random part

  • Base64/hex encoded data

Decode Session Tokens

Forge Admin Token


Session Fixation

Identify

  • Session token set via URL parameter (?sid=xxx)

  • Session not regenerated after login

Exploit

  1. Get valid session: a1b2c3d4e5f6

  2. Send victim: http://TARGET/?sid=a1b2c3d4e5f6

  3. Victim logs in with your session

  4. Use session=a1b2c3d4e5f6 to hijack


Default Credentials

Resources

  • https://www.cirt.net/passwords

  • https://github.com/danielmiessler/SecLists/tree/master/Passwords/Default-Credentials

  • https://github.com/scadastrangelove/SCADAPASS

Common Defaults

App
Username
Password

WordPress

admin

admin

BookStack

password

Tomcat

tomcat

tomcat

Jenkins

admin

admin

phpMyAdmin

root

(empty)

Last updated