Topic cluster · 59 articles
Web Security
How the web gets attacked — and how it holds.
The web is the most attacked surface in computing, and also the best documented: every major class of web vulnerability has a name, a history, and a known defense. This cluster works through those classes one by one — injection, cross-site scripting, broken authentication, misconfiguration — explaining the mechanism first and the mitigation second, because you cannot reliably defend against what you cannot explain.
The articles favor primary sources: OWASP documentation, browser vendor specifications, and the standards that actually define behavior. Where a defense involves code, the code shown is the defensive pattern — parameterized queries, output encoding, security headers — presented the way you would ship it.
If you build, test, or defend anything with an HTTP endpoint, this is the cluster to work through end to end.
Start here
- Blocking all cookies will break your browsing experience
Learn why blocking every cookie in a browser is a mistake and understand the difference between first-party cookies and third-party tracking tools today.
- Browser validation alone does not stop hackers
Client-side validation improves user experience but fails as a security measure. Learn why server-side validation is essential to protect web applications.
- The padlock in your browser doesn't mean you are safe
Many people believe the padlock icon in a browser means a website is safe, but it only shows that the connection is encrypted via TLS to prevent eavesdropping.
- What Is Security Misconfiguration?
Security misconfiguration is insecure defaults, open settings, and forgotten features. Learn the common cases and how to harden it all by default.
- What Is the OWASP Top 10?
The OWASP Top 10 is the industry’s reference list of the most critical web application security risks. Learn what it covers, how to use it, and its limits.
- What Is Subresource Integrity (SRI)?
Subresource Integrity lets the browser verify a third-party script has not been tampered with. Learn how the integrity hash works and where SRI protects you.
- Rate Limiting and Brute-Force Protection
Rate limiting caps how often an action can be attempted, blunting brute-force and abuse. Learn where to apply it, its common bypasses, and account defenses.
- What Are Open Redirects?
An open redirect uses your trusted domain to send victims to a malicious site. Learn how it powers phishing and how to validate redirect targets.
- What Is an IDOR Vulnerability?
IDOR lets a user reach another user’s data by changing an ID in a request. Learn why it is so common and why object-level checks are the fix.
- What Is Clickjacking?
Clickjacking tricks users into clicking something other than what they see, via invisible frames. Learn how the attack works and how to stop it.
- Cookie Security: HttpOnly, Secure, SameSite
Three cookie attributes carry session security: HttpOnly, Secure, and SameSite. Learn what each defends against and how to set them correctly.
- SQL Injection, Explained Properly
SQL injection turns user input into database commands. It still breaches systems, and one defense ends it: parameterized queries. Here's how both work.
- What Is Cross-Site Scripting (XSS)?
Cross-site scripting lets attackers run their JavaScript in your users' browsers. Learn how XSS works, the three types, and the layered defenses that stop it.
- What Is the Same-Origin Policy?
The same-origin policy is the browser rule that keeps one website from reading another's data. See what an origin is, what SOP blocks, and how CORS relaxes it.
Going deeper
- CAPTCHAs aren't as secure as most people think
Do CAPTCHAs really stop bots? Learn why solving services make these puzzles ineffective and how they create accessibility barriers for legitimate users today.
- A WAF is enough to keep an application safe
A Web Application Firewall blocks common attack patterns and bots, but it cannot replace secure code because logic flaws and encoding tricks bypass filters.
- An alert box does not mean a security flaw is low risk
This guide explains why an XSS alert box is a dangerous proof of concept, as it proves attackers can steal session cookies and hijack user accounts silently.
- The browser padlock does not mean a website is safe
The padlock icon in a web browser shows that encryption is active, but it does not prove a site is secure from attacks or flawed setups like mixed content.
- You should use hashing instead of encryption for passwords
Discover why hashing is safer than encryption for passwords. This guide explains one-way functions and how slow hashes protect databases from attackers.
- The HTTPS padlock does not make your website secure
Many people believe that HTTPS prevents all hacking. This guide explains why encryption in transit cannot stop application flaws like SQL injection attacks.
- SameSite Cookies, In Depth
The SameSite cookie attribute is a frontline CSRF defense. Learn how Strict, Lax, and None differ, what the Lax-by-default change means, and its limits.
- What Is HTTP Parameter Pollution?
HTTP parameter pollution sends duplicate parameters that servers interpret inconsistently. Learn how the ambiguity is abused and how to fix it.
- Web Authentication with WebAuthn and Passkeys
WebAuthn and passkeys replace passwords with phishing-resistant public-key credentials. Learn how the challenge-response works and why it defeats phishing.
- Preventing Account Takeover
Account takeover is the goal behind many attacks. Learn the paths attackers use — credential stuffing, phishing, reset abuse — and the layered defenses.
- What Are Host Header Attacks?
Apps that trust the HTTP Host header can be tricked into poisoning links, resets, and caches. Learn how these attacks work and why it is untrusted input.
- What Is HSTS?
HTTP Strict Transport Security forces browsers to use HTTPS and refuse to downgrade. Learn how HSTS closes the gap and why preloading is near-permanent.
- What Is Sensitive Data Exposure?
Sensitive data exposure is failing to protect data in transit and at rest. Learn the common causes, why encryption alone is not enough, and how to protect data.
- What Is a Subdomain Takeover?
A subdomain takeover claims a subdomain that points to a decommissioned service. Learn how dangling DNS records cause it and how to prevent the hijack.
- File Upload Vulnerabilities
File uploads let users put data on your server — and attackers put code. Learn the risks of malicious uploads and how to accept files without getting owned.
- REST API Security
APIs are the backbone of modern apps and a major attack surface. Learn the core REST API controls: authentication, authorization, validation, and rate limits.
- GraphQL Security Basics
GraphQL’s flexibility creates its own risks: deep queries, introspection, and batching abuse. Learn the common GraphQL pitfalls and how to lock an API down.
- What Are Mass Assignment Vulnerabilities?
Mass assignment lets attackers set fields they should not by adding them to a request. Learn how auto-binding causes it and why allowlisting fields is the fix.
- CRLF Injection and HTTP Response Splitting
CRLF injection smuggles carriage-return and line-feed characters into headers to forge new ones. Learn how it enables response splitting and how to prevent it.
- Password Storage Done Right
Storing passwords safely is a solved problem: hash them with a slow, salted algorithm. Learn why bcrypt, scrypt, and Argon2 exist and what never to do.
- JWT Security: Common Pitfalls
JSON Web Tokens are easy to misuse. Learn the classic JWT pitfalls — the alg:none trap, weak secrets, and no revocation — and how to use them safely.
- What Is a Path Traversal Attack?
Path traversal abuses file paths to read files outside the intended folder. Learn how the ../ trick works, what it exposes, and how to prevent it.
- Broken Access Control, Explained
Broken access control is the top web risk: users doing what they should not. Learn the common patterns, why it is so prevalent, and how to fix it.
- Session Management Best Practices
Sessions let a stateless web remember who you are — a prime target. Learn secure session IDs, expiry, rotation, and the mistakes that enable hijacking.
- What Is CORS, and How to Configure It?
CORS lets a server allow specific cross-origin reads of its data. Learn how it relaxes the same-origin policy and the misconfigurations that leak data.
- What Is Cross-Site Request Forgery (CSRF)?
CSRF tricks a logged-in browser into sending an unwanted request. Learn how the attack works and why SameSite cookies and anti-CSRF tokens stop it.
- HTTP Security Headers That Matter
A guide to the HTTP security headers that matter now: CSP, HSTS, frame and referrer controls — what each one does, and copy-ready configs for real servers.
Advanced
- Security Headers Beyond the Basics
Past the core headers lies a second tier: Permissions-Policy, COOP/COEP, Reporting, and more. Learn what these headers add and when to use them.
- Timing Attacks on Web Applications
Timing attacks infer secrets from how long an app takes to respond. Learn how they leak passwords and usernames, and why constant-time comparison matters.
- What Is Cross-Site Script Inclusion (XSSI)?
XSSI abuses the ability to include a script cross-origin to steal data from dynamic script responses. Learn how it works and why anti-framing prefixes stop it.
- What Is LDAP Injection?
LDAP injection manipulates directory queries through unsanitized input, bypassing auth or exposing data. Learn how it works and how to escape LDAP filters.
- What Is NoSQL Injection?
NoSQL databases are not immune to injection. Learn how operator injection and JavaScript evaluation create NoSQL injection, and how to prevent it.
- What Is Prototype Pollution?
Prototype pollution is a JavaScript flaw where attacker input corrupts a base object prototype. Learn how it happens, what it enables, and how to prevent it.
- Cross-Origin Isolation: COOP, COEP, CORP
A family of headers — COOP, COEP, and CORP — hardens the boundaries between origins. Learn what each does and why isolation re-enabled powerful APIs.
- What Are Business Logic Vulnerabilities?
Business logic flaws break the rules of how an app should work, without any classic bug. Learn why scanners miss them and how to think like an abuser.
- What Is Web Cache Poisoning?
Web cache poisoning stores a malicious response in a shared cache so it is served to many users. Learn how unkeyed inputs cause it and how to cache safely.
- What Is DOM-Based XSS?
DOM-based XSS executes entirely in the browser, never touching the server. Learn its sources and sinks, why it evades server defenses, and how to prevent it.
- OAuth 2.0 Security Basics
OAuth 2.0 delegates access without sharing passwords, but its flows are easy to get wrong. Learn the roles, the safe auth-code flow, and common mistakes.
- What Is Insecure Deserialization?
Insecure deserialization rebuilds untrusted data into live objects, sometimes running code. Learn the risk and why you should not deserialize input.
- What Is HTTP Request Smuggling?
Request smuggling exploits disagreements between servers about where one HTTP request ends. Learn how desync attacks work and why consistent parsing is the fix.
- What Is Server-Side Template Injection (SSTI)?
SSTI evaluates user input inside a server-side template engine, often causing code execution. Learn how it arises and why input is never a template.
- What Are XML External Entity (XXE) Attacks?
XXE abuses XML parsers that resolve external entities to read files or hit internal systems. Learn how it works and why disabling entities is the fix.
- What Is OS Command Injection?
Command injection runs attacker-supplied OS commands through a vulnerable app. Learn how shell metacharacters cause it and why avoiding the shell fixes it.
- What Is Server-Side Request Forgery (SSRF)?
SSRF makes a server send requests an attacker controls, reaching internal systems. Learn how it works and why cloud metadata makes it so dangerous.
- Content Security Policy: A Practical Guide
A Content Security Policy controls which scripts a page may run. Learn how CSP blunts XSS, why nonces beat allowlists, and how to deploy it safely.