前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >子域名接管漏洞是怎么回事儿

子域名接管漏洞是怎么回事儿

作者头像
信安之路
发布2022-05-23 11:16:08
1.7K0
发布2022-05-23 11:16:08
举报
文章被收录于专栏:信安之路

今天学习了下子域名接管漏洞,通过该漏洞可以接管目标子域名,让其显示我设置的任意页面,造成的危害,主要用于网络钓鱼,包括但不限于伪造钓鱼页面,还可以盗取 Cookie,伪造电子邮件等,具体风险可参考文章:

https://0xpatrik.com/subdomain-takeover/

接下来以实战的方式讲解造成这个漏洞的原因,首先在我的域名管理平台,给我域名 blog.xazlsec.com 设置一个 cname 记录:

接下来可以使用浏览器访问域名:

http://blog.xazlsec.com/

出现这个页面说明该域名解析已经生效,但是未配置网站,需要在 github 上进行操作, 创建网站项目并绑定域名,具体操作如下:

1、创建一个测试项目

2、新建的项目没有文件,可以创建一个文件内容为 Test by Xazlsecindex.html

3、打开 Settings,然后点击 Code and automation 下的 Pages 功能,并选择 Source 为 main:

点击保存之后,可以在 Custom domain处选择自己的域名填入:

保存成功之后,就可以访问域名来查看 github 上的内容:

那么有人开始疑问,这跟子域名接管有啥关系?假如我不想用这个网站了,直接在 github 上把这个项目删除,但是 cname 记录没有一起删掉,会发生什么?

不知道的话,可以测试一下,当我删除新建的项目之后,打开域名,又出现了最开始没有配置时的页面,无论是谁,都可以在自己的 github 创建项目,在最后填写域名 blog.xazlsec.com,让其指向你的项目,从而实现子域名接管。

到这里,子域名接管的原理就应该知道了,因为域名曾经为了实现某个功能,设置了 cname 的记录,但是,当该功能下线后,忘记删除对应的 cname 记录,从而导致漏洞的出现。

我测试了大概一百个网站 cname 到 github.io 的网站,其中有 10 个网站访问出现 404,经最终测试,有三个域名可以实现接管,这么算下来有百分之三的概率成功。

以上是一个子域名接管的案例,有一个不错的项目,专门检测这类问题,应用场景不光是 github,还有其他平台:

https://github.com/jakejarvis/subtake

不同服务的利用方式,可以查看下面项目:

https://github.com/EdOverflow/can-i-take-over-xyz

除了这种利用知名服务的方式,假如我们 cname 指向的是自己的某个域名,比如 test.com,而这个域名,我们用来一年,后来没有需求,就没有续费,这个时候,如果有人抢注了这个域名,那么是不是也可以实现子域名接管的效果?

至于如何在实际的赏金行动中发现存在问题的子域名,其实也不难,需要收集足够多的子域名并且解析出 cname 记录,然后批量检测这些 cname 指向是否存在问题即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档