CurlSwiggerLabs

Learn web security by understanding the request.

Beginner-friendly explanations that still inspect the bytes, headers, and curl flags that make an exploit work.

What you get

A clear path, with real depth

Start with the idea, then follow it down to the protocol detail that actually matters.

Requests you can see

curl, small Python scripts, and raw HTTP instead of a stream of unexplained Repeater screenshots.

Exploits and fixes

Solve PortSwigger labs, then look at the parser, validation, or design mistake a builder should fix.

Lab writeups

Pick a category. Every writeup rebuilds the attack one request at a time and explains why it works.

DOM-based

Expert

Exploiting DOM Clobbering to Enable XSS

The sanitizer blocks every script tag. The browser doesn't care: it has been silently wiring element ids straight onto window since before sanitizers existed. Two allowed anchor tags, one obscure URI scheme, and a double-quote that shouldn't survive... But it does.

Read writeup

Prototype Pollution

Expert

Remote Code Execution via Server-Side Prototype Pollution

From 2015 with the standard ES6, the fiction of classes was half baked into sugar syntax on top of the prototype mess so developers could write class MyObject {...} and pretend they were in Java. Today we'll see how to exploit the foundation of this language to achieve Remote Code Execution

Read writeup

HTTP Request Smuggling

JWT

OAuth

Object Injection (PHP)

SSRF