<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mika</title>
    <description>The latest articles on DEV Community by Mika (@mikaww1).</description>
    <link>https://dev.to/mikaww1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3887366%2F596a03dc-6eb6-435b-b923-469278970244.png</url>
      <title>DEV Community: Mika</title>
      <link>https://dev.to/mikaww1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikaww1"/>
    <language>en</language>
    <item>
      <title>Top 10 Services Most Vulnerable to Subdomain Takeover (And How to Detect Them)</title>
      <dc:creator>Mika</dc:creator>
      <pubDate>Tue, 28 Apr 2026 11:51:54 +0000</pubDate>
      <link>https://dev.to/mikaww1/top-10-services-most-vulnerable-to-subdomain-takeover-and-how-to-detect-them-4a06</link>
      <guid>https://dev.to/mikaww1/top-10-services-most-vulnerable-to-subdomain-takeover-and-how-to-detect-them-4a06</guid>
      <description>&lt;p&gt;Subdomain takeovers are one of the most underrated vulnerabilities in web security. They're easy to miss, surprisingly common, and can have serious consequences — phishing pages served under your own domain, session cookie theft, or brand damage.&lt;/p&gt;

&lt;p&gt;The attack always follows the same pattern: a subdomain points to an external service via a CNAME record, the service gets deprovisioned, but nobody removes the DNS record. The subdomain is now dangling — and claimable by anyone.&lt;/p&gt;

&lt;p&gt;Here are the 10 services where this happens most often, along with the fingerprint that gives it away.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. GitHub Pages
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;There isn't a GitHub Pages site here&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;GitHub Pages is one of the most common culprits. Developers frequently set up &lt;code&gt;docs.example.com&lt;/code&gt; or &lt;code&gt;blog.example.com&lt;/code&gt; pointing to a GitHub Pages site, then delete the repository or disable Pages without removing the CNAME record.&lt;/p&gt;

&lt;p&gt;Anyone can create a GitHub Pages site at the dangling address and immediately serve content under your subdomain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docs.example.com → username.github.io → ❌ unclaimed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Heroku
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;No such app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Heroku is a classic. Staging environments, side projects, and old prototypes frequently get deleted while their DNS records live on. The "No such app" page is one of the most recognizable takeover signals in bug bounty hunting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;staging.example.com → old-app.herokuapp.com → ❌ unclaimed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. AWS S3
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;NoSuchBucket&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;S3 buckets configured for static website hosting are highly susceptible. When a bucket is deleted, the subdomain pointing to it becomes claimable by anyone who creates a new bucket with the same name in the same region.&lt;/p&gt;

&lt;p&gt;This one is particularly dangerous because S3 buckets can serve arbitrary files — including HTML pages and scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;assets.example.com → example-assets.s3-website-us-east-1.amazonaws.com → ❌ bucket deleted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Vercel
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;The deployment could not be found&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Vercel deployments are spun up and torn down constantly. When a project gets deleted or a custom domain gets removed from a Vercel project without cleaning up DNS, the subdomain dangles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app.example.com → cname.vercel-dns.com → ❌ project deleted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. Netlify
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;Not Found - Request ID&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Same story as Vercel. Netlify sites get deleted all the time — marketing landing pages, campaign microsites, A/B test variants. The DNS record outlives the site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;landing.example.com → example.netlify.app → ❌ site deleted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  6. Azure
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;404 Web Site not found&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Azure has multiple vulnerable services — App Service, Front Door, CDN, Traffic Manager. Enterprise companies running on Azure often have dozens of subdomains pointing to Azure resources, and decommissioning processes don't always include DNS cleanup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;portal.example.com → example.azurewebsites.net → ❌ app deleted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7. Shopify
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;Sorry, this shop is currently unavailable&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;E-commerce businesses frequently set up custom subdomains for their Shopify stores — &lt;code&gt;shop.example.com&lt;/code&gt; or &lt;code&gt;store.example.com&lt;/code&gt;. When they migrate platforms or shut down the store, the CNAME often stays.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;shop.example.com → example.myshopify.com → ❌ shop closed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8. Zendesk
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;Help Center Closed&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Support portals are a goldmine for subdomain takeovers. Companies set up &lt;code&gt;help.example.com&lt;/code&gt; or &lt;code&gt;support.example.com&lt;/code&gt; pointing to Zendesk, then migrate to a different support platform without cleaning up DNS.&lt;/p&gt;

&lt;p&gt;A takeover here is particularly dangerous — users trusting a support subdomain might enter credentials or sensitive information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;help.example.com → example.zendesk.com → ❌ account closed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  9. Ghost / Ghost.io
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;Domain not configured&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ghost is a popular blogging platform. &lt;code&gt;blog.example.com&lt;/code&gt; pointing to a Ghost instance is extremely common, and when companies rebrand or migrate their blog, the DNS record is often forgotten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;blog.example.com → example.ghost.io → ❌ site not configured
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  10. Fastly
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint:&lt;/strong&gt; &lt;code&gt;Fastly error: unknown domain&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;CDN takeovers are less common but high impact. Fastly serves content for massive amounts of web traffic, and a dangling CNAME to a Fastly endpoint means an attacker could potentially intercept or serve content to users expecting your site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example CNAME chain:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cdn.example.com → example.global.ssl.fastly.net → ❌ service not configured
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  How to detect these vulnerabilities
&lt;/h2&gt;

&lt;p&gt;Detection comes down to two things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Check for NXDOMAIN&lt;/strong&gt;&lt;br&gt;
Follow the full CNAME chain. If the final destination returns NXDOMAIN — the domain doesn't exist in DNS — you have a dangling CNAME regardless of the service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Check for service fingerprints&lt;/strong&gt;&lt;br&gt;
If the target resolves but returns one of the error messages above, the service exists but isn't configured for that domain. That's your takeover signal.&lt;/p&gt;

&lt;p&gt;You can check any subdomain automatically using &lt;strong&gt;&lt;a href="https://www.subdomainchecker.com" rel="noopener noreferrer"&gt;SubdomainChecker&lt;/a&gt;&lt;/strong&gt; — it follows CNAME chains, checks fingerprints against 80+ services, and even enumerates subdomands from certificate transparency logs so you don't have to find them manually.&lt;/p&gt;

&lt;p&gt;There's also a free API if you want to integrate takeover detection into your own recon pipeline: &lt;strong&gt;&lt;a href="https://rapidapi.com/mikaww1/api/subdomain-takeover-checker" rel="noopener noreferrer"&gt;RapidAPI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How to protect yourself
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Keep a DNS inventory&lt;/strong&gt; — know what every subdomain points to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remove DNS records before decommissioning services&lt;/strong&gt; — DNS cleanup should be step one, not an afterthought&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit regularly&lt;/strong&gt; — run a takeover check every few months, especially after infrastructure changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate it&lt;/strong&gt; — use the API to run checks automatically as part of your CI/CD pipeline or security monitoring&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Subdomain takeovers are preventable. The vulnerability only exists because of forgotten DNS records — and a 30-second check is all it takes to find them.&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>I Ran a Subdomain Takeover Checker on GitHub.com and Found a Vulnerable Subdomain</title>
      <dc:creator>Mika</dc:creator>
      <pubDate>Wed, 22 Apr 2026 19:23:42 +0000</pubDate>
      <link>https://dev.to/mikaww1/i-ran-a-subdomain-takeover-checker-on-githubcom-and-found-a-vulnerable-subdomain-5ba2</link>
      <guid>https://dev.to/mikaww1/i-ran-a-subdomain-takeover-checker-on-githubcom-and-found-a-vulnerable-subdomain-5ba2</guid>
      <description>&lt;p&gt;I've been building a tool that checks subdomains for takeover vulnerabilities. Yesterday I decided to test it on a well-known target — github.com — just to see what it would find.&lt;/p&gt;

&lt;p&gt;I wasn't expecting much. GitHub is a massive, well-maintained platform with a serious security team. But within seconds of running the enumeration, one result came back red:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brandguide.github.com — VULNERABLE
Service: github.io
Reason: Unconfigured fingerprint found for github.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby1b37o2in2nsmsqtc62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby1b37o2in2nsmsqtc62.png" alt="Results" width="671" height="711"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does this mean?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;brandguide.github.com&lt;/code&gt; has a CNAME record pointing to a GitHub Pages address that is no longer configured. The page returns GitHub's classic "There isn't a GitHub Pages site here" message — which is the exact fingerprint that indicates an unclaimed Pages site.&lt;/p&gt;

&lt;p&gt;In theory, anyone could create a GitHub Pages site at that address and serve content under &lt;code&gt;brandguide.github.com&lt;/code&gt; — a subdomain that looks like it belongs to GitHub.&lt;/p&gt;

&lt;p&gt;This is a textbook subdomain takeover.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the tool found it
&lt;/h2&gt;

&lt;p&gt;The tool uses two steps to detect takeovers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — Enumerate subdomains via certificate transparency logs&lt;/strong&gt;&lt;br&gt;
Certificate authorities are required to publicly log every SSL certificate they issue. By querying &lt;a href="https://crt.sh" rel="noopener noreferrer"&gt;crt.sh&lt;/a&gt;, you can discover subdomains that have had certificates issued — no scanning, no probing, just reading public records.&lt;/p&gt;

&lt;p&gt;For github.com this returned dozens of subdomains instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 — Check each subdomain for takeover vulnerabilities&lt;/strong&gt;&lt;br&gt;
For each subdomain, the tool follows the full CNAME chain. If the final destination returns NXDOMAIN (the domain doesn't exist) or matches a known "unconfigured" fingerprint from services like GitHub Pages, Heroku, Vercel, AWS S3, and 80+ others — it flags the subdomain as vulnerable.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brandguide.github.com&lt;/code&gt; passed through the CNAME chain check and matched the GitHub Pages fingerprint. Result: vulnerable.&lt;/p&gt;

&lt;h2&gt;
  
  
  This happens more than you think
&lt;/h2&gt;

&lt;p&gt;GitHub is not unique here. Subdomains get created for marketing campaigns, staging environments, documentation sites, and internal tools — then the service gets decommissioned, but nobody cleans up the DNS record.&lt;/p&gt;

&lt;p&gt;It's not a sign of negligence. It's just the natural entropy of running infrastructure at scale. The DNS record outlives the service by months or years, quietly waiting for someone to notice.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I did with the finding
&lt;/h2&gt;

&lt;p&gt;Nothing — I don't own github.com and have no intention of claiming the subdomain. This article is purely educational. If you work at GitHub and are reading this, consider this a friendly heads up.&lt;/p&gt;

&lt;p&gt;If you want to check your own domains, the tool is free to use:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://www.subdomainchecker.com" rel="noopener noreferrer"&gt;subdomainchecker.com&lt;/a&gt;&lt;/strong&gt; — paste in a root domain, it enumerates subdomains via crt.sh and checks each one automatically&lt;/p&gt;

&lt;p&gt;There's also a public API if you want to integrate it into your own recon pipeline:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://rapidapi.com/mikaww1/api/subdomain-takeover-checker" rel="noopener noreferrer"&gt;RapidAPI — Subdomain Takeover Checker&lt;/a&gt;&lt;/strong&gt; — free tier available&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Subdomain takeovers are real and happen even at large companies&lt;/li&gt;
&lt;li&gt;Certificate transparency logs are a goldmine for passive subdomain enumeration&lt;/li&gt;
&lt;li&gt;Automated fingerprint checking makes it trivial to scan dozens of subdomains in seconds&lt;/li&gt;
&lt;li&gt;Always clean up your DNS records when you decommission a service&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>dns</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Subdomain takeovers are still embarrassingly common...</title>
      <dc:creator>Mika</dc:creator>
      <pubDate>Sun, 19 Apr 2026 13:04:44 +0000</pubDate>
      <link>https://dev.to/mikaww1/subdomain-takeovers-are-still-embarrassingly-common-3ck7</link>
      <guid>https://dev.to/mikaww1/subdomain-takeovers-are-still-embarrassingly-common-3ck7</guid>
      <description>&lt;p&gt;You've probably heard of domain hijacking — but subdomain takeovers are sneakier, more common, and surprisingly easy to miss.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a subdomain takeover?
&lt;/h2&gt;

&lt;p&gt;When a company sets up a service like a blog, a shop, or a staging environment, they often point a subdomain at an external platform using a DNS record called a CNAME.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;shop.example.com → CNAME → example.myshopify.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells the internet: "when someone visits shop.example.com, send them to our Shopify store."&lt;/p&gt;

&lt;p&gt;Now imagine the company shuts down that Shopify store — but forgets to delete the DNS record. The CNAME is still there, pointing at a Shopify address that no longer exists.&lt;/p&gt;

&lt;p&gt;An attacker can register that Shopify store and suddenly controls &lt;code&gt;shop.example.com&lt;/code&gt;. They can serve phishing pages, steal cookies, or damage the brand — all from what looks like a legitimate company subdomain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does this keep happening?
&lt;/h2&gt;

&lt;p&gt;Because DNS cleanup is boring and easy to forget. Teams spin up new services all the time — staging environments, marketing landing pages, support portals — and when those services get decommissioned, the DNS records are often left behind.&lt;/p&gt;

&lt;p&gt;It's not a sophisticated attack. It just requires patience and a good eye for dangling CNAMEs.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you detect it?
&lt;/h2&gt;

&lt;p&gt;Detection comes down to two steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — Follow the CNAME chain&lt;/strong&gt;&lt;br&gt;
Resolve the subdomain and follow every CNAME until you reach the final destination. If the final target returns NXDOMAIN (the domain doesn't exist in DNS), that's a strong signal of a dangling CNAME.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 — Check for service fingerprints&lt;/strong&gt;&lt;br&gt;
If the target resolves but the service isn't configured, most platforms return a recognizable error page. For example, an unclaimed GitHub Pages site returns &lt;em&gt;"There isn't a GitHub Pages site here"&lt;/em&gt;. Checking for these fingerprints confirms whether a takeover is possible.&lt;/p&gt;

&lt;p&gt;One important caveat: wildcard DNS can cause false positives. If a parent domain resolves any random subdomain (like &lt;code&gt;random123.example.com&lt;/code&gt;), you need to account for that before flagging something as vulnerable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checking your own subdomains
&lt;/h2&gt;

&lt;p&gt;If you're a developer or sysadmin, it's worth periodically auditing your DNS records — especially for subdomains pointing at third-party services you may have stopped using.&lt;/p&gt;

&lt;p&gt;I built a free API that automates this entire process. It follows CNAME chains, checks fingerprints against 80+ services (AWS S3, Azure, Heroku, Vercel, Netlify, GitHub Pages, Shopify, Zendesk and more), handles wildcard detection, and returns a confidence level with each result.&lt;/p&gt;

&lt;p&gt;There's also a bulk endpoint that checks up to 25 subdomains at once — useful if you have a large number of subdomains to audit.&lt;/p&gt;

&lt;p&gt;You can try it here: &lt;a href="https://rapidapi.com/mikaww1/api/subdomain-takeover-checker" rel="noopener noreferrer"&gt;Subdomain Takeover Checker API&lt;/a&gt; — free tier available, no credit card needed.&lt;/p&gt;

&lt;p&gt;Or check out the website: &lt;a href="https://www.subdomainchecker.com" rel="noopener noreferrer"&gt;subdomainchecker.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Subdomain takeovers happen when a CNAME points to an unclaimed external service&lt;/li&gt;
&lt;li&gt;They're common because DNS records are rarely cleaned up when services are decommissioned&lt;/li&gt;
&lt;li&gt;Detection involves checking for NXDOMAIN and known service fingerprints&lt;/li&gt;
&lt;li&gt;Audit your subdomains regularly — especially after decommissioning any third-party service&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>webdev</category>
      <category>security</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
