本文将介绍实际接管“易受攻击”的子域的过程。
更新: 请参考“can-i-takeover-xyz”作为子域名接管概念验证的主要项目。 本文仅充当文档扩展,提供了屏幕截图和更深入的解释。 https://github.com/EdOverflow/can-i-take-over-xyz
-
aquatone https://github.com/michenriksen/aquatone -
SubOver https://github.com/Ice3man543/SubOver -
subjack https://github.com/haccer/subjack
Amazon S3
Verification
2^[a-z0-9.-]{0,63}.?s3.amazonaws.com$
3
4# {bucketname}.s3-website(.|-){region}.amazonaws.com (+ possible China region)
5^[a-z0-9.-]{3,63}.s3-website[.-](eu|ap|us|ca|sa|cn)-w{2,14}-d{1,2}.amazonaws.com(.cn)?$
6
7# {bucketname}.s3(.|-){region}.amazonaws.com
8^[a-z0-9.-]{3,63}.s3[.-](eu|ap|us|ca|sa)-w{2,14}-d{1,2}.amazonaws.com$
9
10# {bucketname}.s3.dualstack.{region}.amazonaws.com
11^[a-z0-9.-]{3,63}.s3.dualstack.(eu|ap|us|ca|sa)-w{2,14}-d{1,2}.amazonaws.com$
Takeover
-
前往 S3 面板 -
点击“创建桶” -
将桶名称设置为源域名(即您想要接管的域名) -
点击多次“下一步”以完成 -
打开创建的桶 -
点击“上传” -
选择将用于 PoC 的文件(HTML 或 TXT 文件)。我建议将其命名为与 index.html 不同的名称;您可以使用 poc(不带扩展名) -
在权限选项卡中选择“授予此对象(们)公共读取访问权限” -
上传后,选择文件,点击“更多”->“更改元数据” -
点击“添加元数据”,选择“内容类型”,值应反映文档的类型。如果是 HTML,则选择 text/html,等等。 -
(可选)如果桶已配置为网站 -
切换到“属性”选项卡 -
点击“静态网站托管” -
选择“使用此桶托管网站” -
作为索引,选择您上传的文件 -
点击“保存”
-
GitHub Pages
Verification
Takeover
-
前往新存储库页面 -
将存储库名称设置为规范域名(即,来自CNAME记录的{something}.github.io) -
点击“创建存储库” -
使用git将内容推送到新创建的存储库。GitHub本身提供了实现此操作的步骤 -
切换到“设置”选项卡 -
在GitHub Pages部分,选择主分支作为来源 -
点击“保存” -
保存后,将“自定义域”设置为源域名(即,您想要接管的域名) -
点击“保存”
Heroku
Verification
Takeover
-
打开新的Heroku应用。 https://dashboard.heroku.com/new-app -
选择名称和地区(对接管没有影响)。 -
使用git将PoC应用推送到Heroku。该过程在“部署”选项卡中有描述。 -
切换到“设置”选项卡。 -
滚动到“域名和证书”。 -
点击“添加域名”。 -
提供您想要接管的域名,然后点击“保存更改”。 -
设置可能需要一些时间来传播。
Readme.io
Verification
Takeover
-
前往仪表板。 https://dash.readme.io/ -
设置项目名称及其子域名。子域名无需与您尝试接管的域名匹配。 -
在左侧边栏中,转到“常规设置” -> “自定义域”。 -
将自定义域设置为您想要接管的域名。 -
点击“保存”。
提交报告
原文始发于微信公众号(一个不正经的黑客):子域名接管漏洞: 赚钱小技巧
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论