Cryptographic Failures
Eșecurile criptografice se referă la implementarea incorectă a mecanismelor de criptare pentru protejarea datelor sensibile. Includeți algoritmi slabi, chei compromise, gestionare inadecvată a parolelor și implementări deficiente ale criptografiei.
Această categorie cuprinde vulnerabilități legate de:
Statistici OWASP 2025: A04 coboară din poziția A02:2021 la A04:2025. Cu toate acestea, rămâne o vulnerabilitate critică cu impact înalt.

Exemplu în imagine: un site care nu aplică TLS poate permite unui atacator să fure cookie-ul de sesiune al utilizatorului, să îl modifice și să deturneze sesiunea autentificată, obținând acces la datele private ale utilizatorului.
GET /login?user=admin&pass=secret123 HTTP/1.1
Parolele și tokenele transmise prin HTTP pot fi interceptate ușor. Se cere HTTPS pentru orice transmisie de date sensibile.
Utilizarea algoritmilor de criptare slabi cum ar fi DES, RC4 sau MD5 pentru hashing. Acești algoritmi sunt ușor de spargit cu tehnologia modernă. Se recomandă AES-256, SHA-256 sau bcrypt.
const SECRET_KEY = "my_secret_key_1234"; // RĂU!
Cheile și parolele în cod sursă sunt ușor de descoperit în versiuni publicate sau în repositoriile Git.
Stocarea parolelor în plaintext, folosind MD5 fără salt, sau folosind algoritmi rapizi fără iterații. Se cere bcrypt, scrypt sau Argon2 cu salt aleatoriu.
Aplicații care acceptă certificatele SSL/TLS expirate, autosemnate sau cu domenii incorecte, permițând man-in-the-middle attacks.
Baza de date stochează date sensibile cu criptare slabă (ROT13, Base64) sau fără criptare. Datele compromisingse ușor prin atacuri de dicționar sau brute-force.
AES_Encrypt(password, static_salt="salt123")
Utilizarea unui IV sau salt static în loc de generarea aleatoriu pentru fiecare criptare reduce drastic securitatea și permite atac dictionary.