OWASP Top 10 (2021) — concept page covering all 10 vulnerability classes with 3 deep-dive scenarios: A03 SQL injection (vulnerable string-concat vs parameterized queries), A01 Broken Access Control (IDOR — First American 2019 style), A10 SSRF to AWS IMDS leading to IAM credential theft (Capital One 2019). Topology: Attacker -> WAF/LB (edge) -> API + AuthZ + Audit Logger (app) -> Postgres + Secrets Vault + AWS IMDS + S3 (internal). 2 ADRs on the WAF node: (1) defense-in-depth — где какая защита, mapping each OWASP item to the right layer (WAF / API Gateway / App / Infra / Supply chain / Observability), (2) A03 SQL injection — prepared statements vs ORM vs string concat with concrete code rules and gotchas (LIKE, IN, ORDER BY identifiers).
The OWASP Top 10
is an awareness document for web application risk categories, not a certification checklist or a complete threat model. Each category maps to design, implementation, verification, monitoring, and response controls.| Component | Responsibility |
|---|---|
client | Legitimate Client |
attacker | Adversarial Client or Supplier |
edge | Web Edge and Request Boundary |
application | Web Application |
authorization | Object and Function Authorization |
authentication | Authentication and Session Controls |
configuration | Hardened Configuration Baseline |
supply-chain | Dependency and Build Integrity Gate |
crypto-service | Approved Cryptography and Key Policy |
input-validator | Typed Input and Safe Interpreter Boundary |
design-review | Threat Model and Abuse-Case Review |
integrity-verifier | Software and Data Integrity Verifier |
database | Protected Data Store |
security-log | Security Logging and Alerting |
error-handler | Bounded Exceptional-Condition Handler |
Topology edges represent authenticated or otherwise explicit communication paths. Responses reuse those physical paths in reverse; no response-only or bypass edges are added.
a01-broken-access-control — A01 Broken Access ControlAuthorization is enforced server-side for every object, function, tenant, and field instead of trusting routes, hidden UI, or caller-supplied identifiers.
a02-security-misconfiguration — A02 Security MisconfigurationSecure defaults, minimal services, repeatable configuration, safe headers, and drift detection replace one-time manual hardening.
a03-supply-chain-failures — A03 Software Supply Chain FailuresDependencies and artifacts are inventoried, pinned, verified against provenance and policy, and monitored throughout their lifecycle.
a04-cryptographic-failures — A04 Cryptographic FailuresData classification drives encryption and key management; approved authenticated encryption does not compensate for exposed keys or missing authorization.
a05-injection — A05 InjectionUntrusted data remains data through parameterized APIs, typed parsers, contextual output handling, and explicit interpreter boundaries.
a06-insecure-design — A06 Insecure DesignThreat modeling, abuse cases, security requirements, and architecture review address missing controls that scanning an implementation cannot invent.
a07-authentication-failures — A07 Authentication FailuresPhishing resistance, throttling, secure recovery, session rotation, and reauthentication protect the full authentication lifecycle.
a08-integrity-failures — A08 Software or Data Integrity FailuresCode, updates, serialized data, and control messages are accepted only from authenticated sources under explicit integrity and replay policy.
a09-logging-alerting-failures — A09 Security Logging and Alerting FailuresSecurity-relevant events carry stable context, are protected from tampering, reach actionable alerts, and never log secrets by default.
a10-exceptional-conditions — A10 Mishandling of Exceptional ConditionsTimeouts, partial failures, resource exhaustion, and unexpected state transitions are bounded, fail safely, and preserve invariants.
Введите числа или выберите пресет