EmmEEdu
Defensive Engineering & OWASP Standards

Web Security & Authentication

Security is not an afterthought—it must be architected from day one. Understand the mechanics of modern web vulnerabilities, token encryption, and zero-trust authentication.

Authentication Architecture: Sessions vs JWT
Stateful Server SessionsTraditional

A random session ID is stored in an HTTP-only cookie. The server stores session data in Redis or database. Revocation is instantaneous, but requires database lookups on every request.

Instant revocation • High data security • Requires session store
Stateless JSON Web Tokens (JWT)Microservices

Cryptographically signed tokens containing user claims. Verified via public key or HMAC without database I/O. Ideal for distributed microservices, but difficult to invalidate before expiration.

Zero DB lookups • Cross-service auth • Requires short TTL & token rotation
Threat Modeling

OWASP Core Vulnerabilities & Mitigations

Step-by-step breakdown of common attacks and concrete defensive code strategies.

A03:2021

Injection (SQL, NoSQL, OS Command)

THREAT SCENARIO:

Untrusted user input is directly concatenated into dynamic query strings, allowing attackers to execute arbitrary database commands.

DEFENSIVE REMEDY:

Always use parameterized queries, prepared statements, or strongly typed ORMs (Prisma, SQLAlchemy). Never concatenate strings into SQL.

A03:2021

Cross-Site Scripting (XSS)

THREAT SCENARIO:

Malicious JavaScript injected into pages viewed by other users, stealing session cookies, auth tokens, or rewriting the DOM.

DEFENSIVE REMEDY:

Use frameworks that auto-escape (React JSX). Set Content-Security-Policy (CSP) headers and store auth tokens in HTTP-only cookies.

A01:2021

Cross-Site Request Forgery (CSRF)

THREAT SCENARIO:

An attacker tricks a victim's authenticated browser into sending unauthorized requests (e.g. money transfer or password change) to a target site.

DEFENSIVE REMEDY:

Enforce SameSite=Lax or Strict on session cookies and validate anti-CSRF synchronizer tokens on state-changing requests.

A07:2021

Authentication & Credential Failures

THREAT SCENARIO:

Weak password hashing (MD5/SHA1), missing multi-factor authentication, or session fixation allowing account takeovers.

DEFENSIVE REMEDY:

Hash passwords with Argon2id or bcrypt (cost >= 12). Enforce MFA, implement rate limiting on login attempts, and use established protocols (OAuth 2.0 PKCE).

A05:2021

CORS Misconfiguration

THREAT SCENARIO:

Setting `Access-Control-Allow-Origin: *` while passing `Allow-Credentials: true`, allowing malicious third-party origins to read private user responses.

DEFENSIVE REMEDY:

Explicitly whitelist exact trusted domains. Never reflect arbitrary Origin request headers in access control responses.