π SQL Injection (SQLi)
Unsanitized input hits DB queries directlyCRITICAL
Types: Classic, Blind (Boolean/Time), Error-based, OOBINFO
Test: ' OR 1=1-- in any input fieldTEST
Fix: Parameterized queries / prepared statementsFIX
π XSS β Cross-Site Scripting
Reflected: payload echoed in response immediatelyHIGH
Stored: payload saved in DB, hits every visitorCRITICAL
DOM-based: client-side JS writes attacker data to DOMHIGH
Fix: Output encoding + CSP headers + HttpOnly cookiesFIX
π CSRF β Cross-Site Request Forgery
Forces authenticated user to make unwanted requestsHIGH
Test: Forge request from external origin, check if acceptedTEST
Fix: CSRF tokens + SameSite=Strict cookie attributeFIX
π IDOR β Broken Object Auth
Manipulate IDs to access other users' dataHIGH
Example: /api/user/1337 β change to /api/user/1338TEST
Also check: GUIDs, hashes, encoded valuesTEST
Fix: Server-side ownership checks on every resourceFIX
π Broken Authentication
Weak passwords, no MFA, no lockout policyCRITICAL
JWT: check alg:none, weak secret, no expiryCRITICAL
Session tokens: predictable, long-lived, not invalidated on logoutHIGH
Fix: MFA + secure session management + token rotationFIX
π SSRF β Server-Side Request Forgery
Server fetches attacker-controlled URL β hits internal infraCRITICAL
Test: Inject 127.0.0.1, 169.254.169.254 (AWS meta)TEST
Bypass: URL encoding, redirects, DNS rebindingTEST
Fix: Allowlist outbound URLs + block internal rangesFIX
π XXE β XML External Entity
Malicious XML reads server files or triggers SSRFCRITICAL
Test: Inject ENTITY referencing /etc/passwdTEST
Fix: Disable external entities in XML parser configFIX
π¦ Insecure Deserialization
Tampered serialized objects β RCE or privilege escalationCRITICAL
Look for: base64 blobs, pickled data, Java serialized objectsTEST
Fix: Avoid deserializing untrusted data; use integrity checksFIX