| name | wstg-conf-10 |
| description | Test for Subdomain Takeover |
| category | configuration |
| owasp_id | WSTG-CONF-10 |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["misconfiguration","hardening","server","wstg","conf"] |
| tech_stack | [] |
| cwe_ids | ["CWE-16"] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
wstg-conf-10
Test ID
WSTG-CONF-10
Test Name
Test for Subdomain Takeover
High-Level Description
Subdomain takeover occurs when a subdomain's DNS record points to an external service that is no longer in use or has been deleted. Attackers can claim the abandoned resource and host their own content on the victim's subdomain. This can lead to credential theft, phishing, cookie stealing, and reputation damage. Common targets include cloud services (AWS, Azure, GitHub Pages), CDNs, and SaaS platforms.
What to Check
DNS Record Types
Vulnerable Services
| Service | Vulnerable Indicator |
|---|
| GitHub Pages | 404 - "There isn't a GitHub Pages site here" |
| Heroku | "No such app" |
| AWS S3 | "NoSuchBucket" |
| Azure | "404 Web Site not found" |
| Shopify | "Sorry, this shop is currently unavailable" |
| Tumblr | "There's nothing here" |
| Fastly | "Fastly error: unknown domain" |
| Pantheon | "404 error unknown site" |
| Zendesk | "Help Center Closed" |
| Unbounce | "The requested URL was not found" |
How to Test
Step 1: Subdomain Enumeration
amass enum -d target.com -o subdomains.txt
subfinder -d target.com -o subdomains.txt
assetfinder target.com >> subdomains.txt
curl -s "https://crt.sh/?q=%.target.com&output=json" | jq -r '.[].name_value' | sort -u >> subdomains.txt
-u subdomains.txt -o subdomains.txt