CORS misconfiguration

SkillAI & models

Exploit CORS misconfiguration to read cross-origin responses (data theft). Load when an API reflects Origin into Access-Control-Allow-Origin, allows credentials cross-origin, or trusts null/subdomains. Signals: ACAO reflects your Origin, ACAC: true, `Origin`-dependent responses.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the CORS misconfiguration skill

What this skill tells your AI

The instructions your AI receives, as published by noorqureshi/sploitagent in skills/web/web-cors/SKILL.md and read by ahel’s review.

When it applies

An endpoint returns sensitive data and sets CORS headers that let an attacker origin read the response with the victim's credentials.

Why it works

CORS lets a server opt-in to cross-origin reads. If it reflects the request Origin into Access-Control-Allow-Origin and sets Access-Control-Allow-Credentials: true, any site can make the victim's browser send an authenticated request and read the response — cross-origin data theft.

Method

  1. Probe: send requests with Origin: https://evil.com and inspect response headers. Vulnerable if ACAO echoes your origin (or null) AND ACAC is true.
  2. Test weak allowlists: Origin: https://evil.com vs https://sub.target.com.evil.com, https://targetevil.com, null (via sandboxed iframe), and non-TLS variants — many regexes are sloppy.
  3. Exploit: host JS on your origin that fetch(url, {credentials:'include'}) the sensitive endpoint and exfils the response to you; load it as the victim.

Gotchas

  • ACAO: * without credentials can't read authed data — only origin-reflection + ACAC:true (or a same-site secret) is impactful.
  • null origin is reachable from sandboxed iframes/data: URLs — a real bypass, not theoretical.
  • Prove it reads sensitive data (tokens, PII); reflecting on a public endpoint is informational.

Verify success

Your attacker-origin page reads a victim-authenticated response it should not be able to (e.g. the victim's API key/PII exfiltrated to your server).

References

PortSwigger CORS labs; OWASP CORS guidance.

Signals

GitHub stars
20
Forks
7
Last commit
Sep 2026
Advanced
Item type
skill
Key
web-cors
Source
github.com/noorqureshi/sploitagent