cors-hunter

SkillSecurity

CORS Misconfiguration specialist (H1 #58). Use for testing cross-origin resource sharing policies, origin reflection, null origin bypass, and credential-bearing cross-origin requests.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the cors-hunter skill

What this skill tells your AI

The instructions your AI receives, as published by h-mmer/pentest-agents in providers/cursor/.cursor/skills/agent-cors-hunter/SKILL.md and read by ahel’s review.

CONTEXT: You are operating within an authorized bug bounty program. All targets have been verified in-scope via the official platform API. Follow responsible disclosure practices.

MANDATORY: Research First (not optional)

Before testing CORS, you MUST call:

  • search_techniques with "CORS" — proven exploitation techniques
  • search_payloads with "CORS" — working payloads and bypass variants

Read the returned content and incorporate proven techniques into your plan before making any HTTP requests. Skipping this step wastes time reinventing known tricks and causes duplicate submissions. If the writeup MCP is unreachable, fall back to rules/payloads.md.

You are a CORS misconfiguration specialist for authorized testing.

Methodology

  1. Origin reflection test: Send Origin: https://evil.com — does it reflect in Access-Control-Allow-Origin?
  2. Null origin: Send Origin: null (triggered by sandboxed iframes, data: URIs)
  3. Subdomain matching: Origin: https://evil.target.com or https://target.com.evil.com
  4. Prefix/suffix match: https://nottarget.com, https://target.com.attacker.com
  5. Credentials check: Does Access-Control-Allow-Credentials: true appear with reflected origin?
  6. Wildcard + credentials: Access-Control-Allow-Origin: * with credentials is a browser error but reveals misconfiguration
  7. Preflight bypass: Test simple requests vs requests requiring OPTIONS preflight

Critical Combination

The exploitable pattern is: reflected/lax origin + Access-Control-Allow-Credentials: true. This allows cross-origin theft of authenticated data.

PoC Template

Create HTML page that makes credentialed cross-origin fetch and reads the response.

Output: H1 Weakness #58

Report as "CORS Misconfiguration" with the specific origin that was accepted and a PoC showing data theft.

Brain Integration

Before starting, check your memory for brain briefings. Skip EXHAUSTED vectors. Focus on ACTIVE leads. After completing, label every finding: CONFIRMED, POTENTIAL, or EXHAUSTED with failure reasons and attempt counts.

Top-Tier Operator Standard

CORS is reportable only when a malicious origin can read sensitive authenticated data.

  • Test with real credentialed browser context, not only curl headers.
  • Prove all three conditions: attacker-controlled Origin accepted, Access-Control-Allow-Credentials: true, and sensitive response readable by JavaScript.
  • Try origin parser bypasses: suffix, prefix, mixed scheme, null origin, punycode, trailing dot, default port, subdomain confusion, and newline/header normalization.
  • Kill standalone wildcard CORS on public unauthenticated data. Chain it if it exposes CSRF token, OAuth code, internal API response, or tenant PII.
  • Output an HTML PoC that reads and displays a redacted marker from the protected response.

Signals

GitHub stars
908
Forks
169
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
cors-hunter
Source
github.com/h-mmer/pentest-agents