Skip to content

Commit 6f1d622

Browse files
author
atomiczsec
committed
make README 10x better
1 parent e369c91 commit 6f1d622

File tree

1 file changed

+59
-22
lines changed

1 file changed

+59
-22
lines changed

README.md

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,70 @@ This is a Burp Suite extension to test web applications for various Web Cache De
44

55
## The scanner performs the following checks:
66

7-
1. **Initial Path Mapping Check:**
8-
* Verifies that the target endpoint responds differently to authenticated vs. unauthenticated requests (basic session check).
9-
* Checks if appending a random path segment (e.g., `/originalpath/randomXYZ`) returns content similar to the original path (`/originalpath`). This confirms a prerequisite where the backend might ignore trailing path segments.
10-
11-
2. **Delimiter + Extension Cache Test:**
12-
* If the initial path mapping check passes, this test iterates through common delimiters (`/`, `;`, `?`) and a wide list of file extensions (e.g., `.js`, `.css`, `.jpg`, `.woff2`, `.pdf`).
13-
* For each combination (e.g., `/originalpath/randomXYZ.js`, `/originalpath;randomXYZ.css`), it checks if requesting the URL *without* authentication returns content similar to requesting it *with* authentication.
14-
* Similarity indicates that the authenticated response was likely cached based on the extension and served to the unauthenticated request.
15-
16-
3. **Path Normalization Cache Test:**
17-
* This test checks if the cache normalizes paths differently from the backend server, using common cacheable file/path targets (e.g., `/robots.txt`, `/index.html`, `/assets/`).
18-
* It iterates through common delimiters (`/`, `;`, `?`) and several path traversal/normalization templates (e.g., `%2f%2e%2e%2f` which is `/../`).
19-
* It crafts URLs combining the original path, a delimiter, a normalization template, and a known cacheable target (e.g., `/originalpath;%2f%2e%2e%2frobots.txt`).
20-
* Similar to the previous test, it compares the response body received by an authenticated vs. unauthenticated request for this crafted URL.
21-
* Similarity suggests the cache might have normalized the path (e.g., to `/robots.txt`) and cached the sensitive content from `/originalpath` under that key.
7+
| Check | Description |
8+
|-------|-------------|
9+
| **Initial Path Mapping Check** | Verifies that the target endpoint responds differently to authenticated vs. unauthenticated requests, and checks if appending a random path segment (e.g., `/originalpath/randomXYZ`) returns content similar to the original path (`/originalpath`), confirming a prerequisite where the backend might ignore trailing path segments. |
10+
| **Delimiter + Extension Cache Test** | If the initial check passes, iterates through common delimiters (`/`, `;`, `?`) and file extensions (e.g., `.js`, `.css`, `.jpg`, `.woff2`, `.pdf`). For each combination (e.g., `/originalpath/randomXYZ.js`), checks if requesting the URL without authentication returns content similar to the authenticated request, indicating the authenticated response was cached based on the extension. |
11+
| **Path Normalization Cache Test** | Checks if the cache normalizes paths differently from the backend server using cacheable targets (e.g., `/robots.txt`, `/index.html`, `/assets/`). Iterates through delimiters and path traversal templates (e.g., `%2f%2e%2e%2f`), crafting URLs like `/originalpath;%2f%2e%2e%2frobots.txt` and comparing authenticated vs. unauthenticated responses to detect cache normalization vulnerabilities. |
2212

2313
## Installation (Community Edition)
2414

25-
{updating, work in progress}
15+
### Option 1: Download Pre-built Release (Recommended)
16+
17+
1. Visit the [Releases page](https://github.com/atomiczsec/Web-Cache-Scanner/releases)
18+
2. Download the latest `web-cache-deception-scanner-all.jar` from the **Latest build** release
19+
3. In Burp Suite, go to the **Extender** tab
20+
4. Click **Add** and select the downloaded JAR file
21+
5. Check the **Output** tab for loading confirmation
22+
23+
### Option 2: Build from Source
24+
25+
**Prerequisites:**
26+
- Java JDK 11 or higher
27+
- Gradle (or use the included Gradle Wrapper)
28+
29+
**Build Steps:**
30+
31+
1. Clone the repository:
32+
```bash
33+
git clone https://github.com/atomiczsec/Web-Cache-Scanner.git
34+
cd Web-Cache-Scanner
35+
```
36+
37+
2. Build the extension using Gradle:
38+
```bash
39+
./gradlew clean build
40+
```
41+
Or on Windows:
42+
```bash
43+
gradlew.bat clean build
44+
```
45+
46+
3. The built JAR file will be located at `build/libs/web-cache-deception-scanner-all.jar`
47+
48+
4. Install in Burp Suite:
49+
- Open Burp Suite and go to the **Extender** tab
50+
- Click **Add** and select the JAR file from `build/libs/`
51+
- Verify installation in the **Output** tab
2652

2753
## Credits
2854

29-
- **Original Extension Author:**
30-
[Johan Snyman](mailto:jsnyman@trustwave.com)
55+
Original extension by [Johan Snyman](mailto:jsnyman@trustwave.com). Vulnerability research by [Omer Gil](https://twitter.com/omer_gil). Community Edition updates by [atomiczsec](https://atomiczsec.net).
56+
57+
---
58+
59+
<h3 align="center">Connect with me:</h3>
60+
61+
<p align="center">
62+
63+
<a href="https://github.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/github.svg" height="30" width="40" /></a>
64+
65+
<a href="https://instagram.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/instagram.svg" height="30" width="40" /></a>
66+
67+
<a href="https://twitter.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitter.svg" height="30" width="40" /></a>
68+
69+
<a href="https://medium.com/@atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/medium.svg" height="30" width="40" /></a>
3170

32-
- **Vulnerability Research:**
33-
[Omer Gil](https://twitter.com/omer_gil) - *Pioneer of the Web Cache Deception attack*
71+
<a href="https://youtube.com/@atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/youtube.svg" height="30" width="40" /></a>
3472

35-
- **Burp Community Edition Updates & Enhancements:**
36-
[atomiczsec](https://atomiczsec.net) & cursor (AI assistant)
73+
</p>

0 commit comments

Comments
 (0)