> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/web.md).

# Web Security - PortSwigger

PortSwigger Web Security Academy notes for Burp Suite labs, web application vulnerabilities, exploitation workflows, payload validation, and BSCP preparation.

PortSwigger Web Security Academy notes for practical web application security testing, Burp Suite workflows, vulnerability exploitation, payload validation, and BSCP preparation.

## Testing Workflow

1. Map the feature, request, parameter, cookie, header, browser sink, or API endpoint involved in the lab.
2. Reproduce the vulnerability in Burp Suite with the smallest payload that proves control.
3. Escalate only when the behavior is confirmed, keeping payloads and lab credentials exact.
4. Capture the exploitation path with concise notes: trigger, impact, final proof, and remediation context.

## Vulnerability Categories

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-database" style="color:$primary;">:database:</i></h3></td><td><h4>SQL Injection</h4></td><td>SQL injection, UNION attacks, blind SQLi, error-based SQLi, time-based SQLi, OOB exfiltration, and DBMS enumeration.</td><td><a href="/web/sql-injection.md">SQL Injection</a></td></tr><tr><td><h3><i class="fa-code" style="color:$primary;">:code:</i></h3></td><td><h4>XSS</h4></td><td>Cross-site scripting, reflected XSS, stored XSS, DOM XSS, CSP bypass, AngularJS sandbox escape, cookie theft, and credential capture.</td><td><a href="/web/xss.md">Cross-Site Scripting (XSS)</a></td></tr><tr><td><h3><i class="fa-repeat" style="color:$primary;">:repeat:</i></h3></td><td><h4>CSRF</h4></td><td>Cross-site request forgery, SameSite bypass, token validation flaws, Referer validation bypass, and exploit server payloads.</td><td><a href="/web/csrf.md">Cross-Site Request Forgery (CSRF)</a></td></tr><tr><td><h3><i class="fa-arrow-pointer" style="color:$primary;">:arrow-pointer:</i></h3></td><td><h4>Clickjacking</h4></td><td>Clickjacking, UI redressing, iframe abuse, CSRF-assisted attacks, prefilled forms, and anti-frame bypass.</td><td><a href="/web/clickjacking.md">Clickjacking</a></td></tr><tr><td><h3><i class="fa-code-branch" style="color:$primary;">:code-branch:</i></h3></td><td><h4>DOM Vulnerabilities</h4></td><td>DOM XSS, DOM clobbering, Web Messages, open redirects, cookie manipulation, sinks, and sources.</td><td><a href="/web/dom.md">DOM Vulnerabilities</a></td></tr><tr><td><h3><i class="fa-shuffle" style="color:$primary;">:shuffle:</i></h3></td><td><h4>CORS</h4></td><td>CORS misconfiguration, origin reflection, null origin trust, insecure protocols, and cross-origin credential theft.</td><td><a href="/web/cors.md">CORS</a></td></tr><tr><td><h3><i class="fa-file-code" style="color:$primary;">:file-code:</i></h3></td><td><h4>XXE</h4></td><td>XML external entity injection, file read, SSRF via XXE, blind XXE, OOB exfiltration, local DTD reuse, and XInclude.</td><td><a href="/web/xxe.md">XXE Injection</a></td></tr><tr><td><h3><i class="fa-server" style="color:$primary;">:server:</i></h3></td><td><h4>SSRF</h4></td><td>Server-side request forgery, blind SSRF, blacklist bypass, whitelist bypass, internal service access, and Shellshock-based exfiltration.</td><td><a href="/web/ssrf.md">SSRF</a></td></tr><tr><td><h3><i class="fa-arrow-right-arrow-left" style="color:$primary;">:arrow-right-arrow-left:</i></h3></td><td><h4>HTTP Request Smuggling</h4></td><td>HTTP request smuggling, CL.TE, TE.CL, HTTP/2 desync, front-end bypass, tunneling, and cache poisoning.</td><td><a href="/web/request-smuggling.md">HTTP Request Smuggling</a></td></tr><tr><td><h3><i class="fa-terminal" style="color:$primary;">:terminal:</i></h3></td><td><h4>Command Injection</h4></td><td>OS command injection, blind command injection, time delays, output redirection, OOB detection, and command exfiltration.</td><td><a href="/web/command-injection.md">OS Command Injection</a></td></tr><tr><td><h3><i class="fa-brackets-curly" style="color:$primary;">:brackets-curly:</i></h3></td><td><h4>SSTI</h4></td><td>Server-side template injection, sandbox escape, template engine detection, documented exploits, custom payloads, and RCE.</td><td><a href="/web/ssti.md">Server-Side Template Injection</a></td></tr><tr><td><h3><i class="fa-folder-tree" style="color:$primary;">:folder-tree:</i></h3></td><td><h4>Path Traversal</h4></td><td>Path traversal, file read, traversal sequence bypass, URL decoding bypass, null byte tricks, and path validation weaknesses.</td><td><a href="/web/path-traversal.md">Path Traversal</a></td></tr><tr><td><h3><i class="fa-user-lock" style="color:$primary;">:user-lock:</i></h3></td><td><h4>Access Control</h4></td><td>Broken access control, IDOR, privilege escalation, role manipulation, authorization bypass, and admin panel exposure.</td><td><a href="/web/access-control.md">Access Control</a></td></tr><tr><td><h3><i class="fa-key" style="color:$primary;">:key:</i></h3></td><td><h4>Authentication</h4></td><td>Authentication bypass, user enumeration, password reset flaws, 2FA bypass, brute force, session cookies, and account takeover.</td><td><a href="/web/authentication.md">Authentication</a></td></tr><tr><td><h3><i class="fa-plug" style="color:$primary;">:plug:</i></h3></td><td><h4>WebSockets</h4></td><td>WebSocket testing, message manipulation, handshake abuse, cross-site WebSocket hijacking, and real-time application attacks.</td><td><a href="/web/websockets.md">WebSockets</a></td></tr><tr><td><h3><i class="fa-face-woozy" style="color:$primary;">:face-woozy:</i></h3></td><td><h4>Web Cache Poisoning</h4></td><td>Web cache poisoning, cache key injection, unkeyed headers, unkeyed cookies, parameter cloaking, and cache-based XSS.</td><td><a href="/web/cache-poisoning.md">Web Cache Poisoning</a></td></tr><tr><td><h3><i class="fa-box-open" style="color:$primary;">:box-open:</i></h3></td><td><h4>Deserialization</h4></td><td>Insecure deserialization, serialized object tampering, gadget chains, PHAR, Java, PHP, Ruby, and object injection.</td><td><a href="/web/deserialization.md">Insecure Deserialization</a></td></tr><tr><td><h3><i class="fa-eye" style="color:$primary;">:eye:</i></h3></td><td><h4>Information Disclosure</h4></td><td>Information disclosure, verbose errors, debug pages, backup files, exposed source code, and version control leaks.</td><td><a href="/web/information-disclosure.md">Information Disclosure</a></td></tr><tr><td><h3><i class="fa-lightbulb" style="color:$primary;">:lightbulb:</i></h3></td><td><h4>Business Logic</h4></td><td>Business logic flaws, workflow bypass, client-side trust abuse, inconsistent controls, and application logic exploitation.</td><td><a href="/web/business-logic.md">Business Logic</a></td></tr><tr><td><h3><i class="fa-globe" style="color:$primary;">:globe:</i></h3></td><td><h4>Host Header Attacks</h4></td><td>Host header attacks, password reset poisoning, routing-based SSRF, cache poisoning, and ambiguous request handling.</td><td><a href="/web/host-header.md">Host Header Attacks</a></td></tr><tr><td><h3><i class="fa-key" style="color:$primary;">:key:</i></h3></td><td><h4>OAuth Authentication</h4></td><td>OAuth misconfiguration, implicit flow bypass, redirect_uri abuse, token theft, account hijacking, and OpenID SSRF.</td><td><a href="/web/oauth-authentication.md">OAuth Authentication</a></td></tr><tr><td><h3><i class="fa-file-arrow-up" style="color:$primary;">:file-arrow-up:</i></h3></td><td><h4>File Upload</h4></td><td>File upload bypass, web shell upload, race conditions, validation bypass, and server-side execution.</td><td><a href="/web/file-upload.md">File Upload</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>JWT Attacks</h4></td><td>JWT authentication bypass, algorithm confusion, weak keys, JWK injection, JKU injection, kid path traversal, and signature validation flaws.</td><td><a href="/web/jwt.md">JWT Attacks</a></td></tr><tr><td><h3><i class="fa-suitcase" style="color:$primary;">:suitcase:</i></h3></td><td><h4>Essential Skills</h4></td><td>Burp Suite workflow, targeted scanning, non-standard data analysis, browser testing, and PortSwigger lab methodology.</td><td><a href="/web/essential-skills.md">Essential Skills</a></td></tr><tr><td><h3><i class="fa-code-branch" style="color:$primary;">:code-branch:</i></h3></td><td><h4>Prototype Pollution</h4></td><td>Prototype pollution, client-side DOM XSS, server-side prototype pollution, filter bypass, privilege escalation, and RCE.</td><td><a href="/web/prototype-pollution.md">Prototype Pollution</a></td></tr><tr><td><h3><i class="fa-diagram-project" style="color:$primary;">:diagram-project:</i></h3></td><td><h4>GraphQL</h4></td><td>GraphQL testing, introspection, private fields, CSRF, brute force bypass, cached endpoints, and IDOR.</td><td><a href="/web/graphql.md">GraphQL</a></td></tr><tr><td><h3><i class="fa-stopwatch" style="color:$primary;">:stopwatch:</i></h3></td><td><h4>Race Conditions</h4></td><td>Race conditions, single-packet attacks, rate-limit bypass, partial construction races, time-sensitive flaws, and Burp Repeater workflows.</td><td><a href="/web/race-conditions.md">Race Conditions</a></td></tr><tr><td><h3><i class="fa-database" style="color:$primary;">:database:</i></h3></td><td><h4>NoSQL Injection</h4></td><td>NoSQL injection, MongoDB operator injection, authentication bypass, hidden field extraction, and data exfiltration.</td><td><a href="/web/nosql-injection.md">NoSQL Injection</a></td></tr><tr><td><h3><i class="fa-plug" style="color:$primary;">:plug:</i></h3></td><td><h4>API Testing</h4></td><td>API testing, server-side parameter pollution, REST endpoint discovery, mass assignment, OpenAPI documentation abuse, and hidden API exploitation.</td><td><a href="/web/api-testing.md">API Testing</a></td></tr><tr><td><h3><i class="fa-brain" style="color:$primary;">:brain:</i></h3></td><td><h4>LLM Web Attacks</h4></td><td>Prompt injection, insecure LLM tool use, excessive agency, output handling flaws, and LLM API exploitation.</td><td><a href="/web/llm-web-attacks.md">LLM Web Attacks</a></td></tr><tr><td><h3><i class="fa-shield-halved" style="color:$primary;">:shield-halved:</i></h3></td><td><h4>Web Cache Deception</h4></td><td>Web cache deception, path mapping quirks, cacheable private responses, delimiter abuse, and origin normalization issues.</td><td><a href="/web/web-cache-deception.md">Web Cache Deception</a></td></tr></tbody></table>

\## Certification and Exam Preparation

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-shield" style="color:$primary;">:shield:</i></h3></td><td><h4>BSCP Certification Guide</h4></td><td>BSCP Certification Practical Guide notes for PortSwigger Web Security Academy labs, including exploitation workflow, payload testing, Burp Suite validation, and remediation context.</td><td><a href="/web/bscp-certification-practical-guide.md">BSCP and Practice Exams</a></td></tr><tr><td><h3><i class="fa-shield" style="color:$primary;">:shield:</i></h3></td><td><h4>BSCP Practice Exam 1</h4></td><td>BSCP Practice Exam 1 Writeup notes for PortSwigger Web Security Academy labs, including exploitation workflow, payload testing, Burp Suite validation, and remediation context.</td><td><a href="/web/bscp-certification-practical-guide/writeup-practice-exam-1-bscp.md">BSCP Practice Exam 1 Writeup</a></td></tr><tr><td><h3><i class="fa-shield" style="color:$primary;">:shield:</i></h3></td><td><h4>BSCP Practice Exam 2</h4></td><td>BSCP Practice Exam 2 Writeup notes for PortSwigger Web Security Academy labs, including exploitation workflow, payload testing, Burp Suite validation, and remediation context.</td><td><a href="/web/bscp-certification-practical-guide/writeup-practice-exam-2-bscp.md">BSCP Practice Exam 2 Writeup</a></td></tr><tr><td><h3><i class="fa-question" style="color:$primary;">:question:</i></h3></td><td><h4>PortSwigger Study Notes</h4></td><td>Community BSCP study notes and exam preparation references.</td><td><a href="https://github.com/botesjuan/Burp-Suite-Certified-Practitioner-Exam-Study">https://github.com/botesjuan/Burp-Suite-Certified-Practitioner-Exam-Study</a></td></tr><tr><td><h3><i class="fa-question" style="color:$primary;">:question:</i></h3></td><td><h4>BSCP Reference Repository</h4></td><td>Additional BSCP study references and practice material.</td><td><a href="https://github.com/DingyShark/BurpSuiteCertifiedPractitioner">https://github.com/DingyShark/BurpSuiteCertifiedPractitioner</a></td></tr></tbody></table>

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-eb4f986a23b938196ff540afb43f35ea79011338%2Fimage%20(71).png?alt=media" alt="PortSwigger Web Security Academy and BSCP study reference"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/web.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
