Skip to content

Commit 3b42a71

Browse files
authored
Update readme.md
1 parent 4ac97da commit 3b42a71

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

readme.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,78 @@
11
![image](https://github.com/user-attachments/assets/fb2e6570-6f07-4c94-846c-fa09d4e0c47d)
2+
3+
4+
# SCOPE - Subdomain Cache Observation, Poisoning & Evaluation
5+
6+
**SCOPE** is a Python-based tool designed to identify cache poisoning vulnerabilities in subdomains. It performs the following operations for each subdomain in a given list:
7+
8+
1. **Sends a PURGE request** to clear the cache.
9+
2. **Checks for a specific cache hit** (`X-Cache-Hits: 1`).
10+
3. **Attempts a GET request** with an illegal header to poison the cache.
11+
4. **Verifies if the page is cached** and accessible, indicating a potential vulnerability.
12+
13+
---
14+
15+
## Features
16+
17+
- **Automated cache poisoning testing** for multiple subdomains.
18+
- **Checks for `X-Cache-Hits: 1`** to identify cache-related vulnerabilities.
19+
- **Easy integration with a list of subdomains** via a `.txt` file.
20+
- **Terminal-based** for efficient usage.
21+
22+
---
23+
24+
## Installation
25+
26+
### Prerequisites
27+
28+
- Python 3.x
29+
- `curl` installed (used for sending HTTP requests)
30+
31+
### Step-by-Step Setup
32+
33+
1. Clone or download the **SCOPE** repository:
34+
35+
```bash
36+
git clone https://github.com/yourusername/scope.git
37+
cd scope
38+
```
39+
40+
2. Install dependencies (if any) and make sure Python 3 is installed:
41+
42+
```bash
43+
pip install -r requirements.txt # If you have any dependencies listed
44+
```
45+
46+
---
47+
48+
## Usage
49+
50+
51+
## Usage
52+
### Step 1: Prepare the Subdomain List
53+
Create a `subdomain.txt` file, and list all the subdomains you want to test (one per line). Example:
54+
```
55+
subdomain1.example.com
56+
subdomain2.example.com
57+
subdomain3.example.com
58+
```
59+
### Step 2: Run the Tool
60+
Execute the script with the path to your `subdomain.txt` file:
61+
```bash
62+
python3 scope.py /path/to/subdomain.txt
63+
```
64+
The tool will process each subdomain in the file and perform the following checks:
65+
- Sends a PURGE request.
66+
- Looks for `X-Cache-Hits: 1` to determine if the subdomain is vulnerable.
67+
- Attempts to poison the cache with an illegal header.
68+
- Verifies if the random path is cached and accessible.
69+
### Output
70+
- For each subdomain, you will receive output like the following:
71+
```
72+
[SCOPE] Testing subdomain1.example.com - Sending PURGE request...
73+
[SCOPE] X-Cache-Hits: 1 found - Potentially vulnerable. Proceeding with GET request...
74+
[SCOPE] Vulnerable! Cached page accessible at: https://subdomain1.example.com/random-path
75+
```
76+
- If the subdomain is not vulnerable, the output will indicate that no cache poisoning was detected.
77+
78+

0 commit comments

Comments
 (0)