文章总结: 企业级安全错误配置是容易被忽视但危害极大的风险点。文章详细解析了三大高危场景:HOST碰撞通过修改Host头访问内网系统;OSS错误配置允许PUT请求导致全站JS劫持;子域名劫持利用废弃子域名实现账户接管。防御建议包括严格虚拟主机配置、限制OSS权限和建立子域名台账管理。
综合评分: 91
文章分类: 渗透测试,漏洞分析,安全建设,WEB安全,内网渗透
企业级安全错误配置攻防:从 HOST 碰撞到账户接管的 3 大高危场景
原创
耶度
野猪与安全
2025年12月12日 09:04
广东
点击蓝字 关注我们
在企业安全防御中,“配置错误” 是最容易被忽视、却危害极大的风险点 —— 它不像 0day 漏洞那样 “高深”,却能让攻击者轻松突破内网、劫持全站、接管账户。
今天就拆解 3 类企业高频安全错误配置的攻防逻辑:从原理到实战案例,再到防御建议,帮你摸清这类漏洞的 “攻击路径” 和 “防御底线”。
HOST 碰撞:从外网到内网漫游的 “捷径”
你以为 “内网系统” 只能在公司办公网访问?一个配置不当的虚拟主机,就能让攻击者通过 “HOST 碰撞” 直接访问内网服务。
- 什么是 HOST 碰撞?
HOST 碰撞的核心逻辑是:通过修改请求的 Host 头,匹配目标服务器上绑定的 “内网域名”—— 很多企业的内网系统(如 OA、CRM)会部署在公网 IP 的服务器上,但仅允许通过特定内网域名访问(如oa.corp.company.com)。
如果服务器的虚拟主机配置不当(比如未限制 Host 头或默认虚拟主机开放),攻击者只需在请求中把 Host 改为内网域名,就能绕过 “办公网访问” 的限制,直接访问内网系统。
- 经典案例:谷歌内部系统泄露,17 岁高中生拿 1 万美金赏金
乌拉圭 17 岁高中生 Ezequiel Pereira,就是通过 HOST 碰撞发现了谷歌的漏洞:
- 谷歌内部服务绑定了
googleplex.com、login.corp.google.com等内网域名; - 这些域名对应的 IP 是谷歌的公网服务器,但默认虚拟主机未做限制;
- 攻击者通过修改
Host头为内网域名,直接访问到了谷歌内部员工系统。
最终这个漏洞帮他拿到了谷歌 10000 美金的漏洞赏金 ——曾经的谷歌都会犯的错,你的企业能幸免吗?
- HOST 碰撞实战:从 IP 收集到域名构造
要实现 HOST 碰撞,核心是 “找到目标企业的公网 IP”+“构造内网域名字典”。
步骤 1:收集目标企业的公网 IP
- 通过 ASN(自治系统编号):大厂都有专属 ASN 段,比如 Paypal 的 ASN 是 1449,用工具可直接导出其所有 IP:
bash
# 用amass获取企业ASN对应的IPamass intel -org "Paypal"# 用nmap导出ASN的IP段nmap --script targets-asn --script-args targets-asn.asn=1449
- 收集域名对应的 IP:通过被动 / 主动子域名枚举工具(subfinder、amass、fofa)收集目标企业的所有域名,再解析其对应的 IP。
- 历史 IP 数据:通过 viewdns.info 等工具查询域名的历史解析 IP,覆盖更多可能的服务器。
步骤 2:构造内网域名字典
根据企业内网命名习惯,构造高风险域名字典:
-
测试环境前缀
:给线上域名加
test、dev、uat等前缀,比如oatest.company.com、oa-test.company.com; -
内网专属后缀
:企业内网常用
-corp、-int、-inc等后缀,比如*.company-corp.com、*.corp.company.com; -
常见内网系统名
:结合单 / 双 / 多字母缩写 + 系统名,比如
okr.company.com、gitlab.corp.company.com。
OSS 错误配置:一行 PUT 请求就能劫持全站 JS
很多企业用对象存储 OSS(如阿里云 OSS、腾讯云 COS)存储静态资源(JS、CSS、图片),但开放 PUT 权限的错误配置,能让攻击者直接替换你的全站 JS 文件。
- OSS 错误配置的风险
OSS 默认应仅开放 “读取权限”(GET),但如果配置成 “允许 PUT”,攻击者就能发送如下请求,覆盖 OSS 中的 JS 文件:
http
PUT /global.js HTTP/1.1 Host: static.xxxcdn.comContent-Type: text/plain // 恶意JS代码:偷取用户Cookiedocument.cookie = "sessionid=" + encodeURIComponent(document.cookie);
一旦恶意 JS 被用户加载,就能实现全站 XSS—— 偷取登录凭证、劫持用户操作,甚至控制整个网站的前端逻辑。
子域名劫持:从 “无效子域名” 到账户接管
企业会注册大量子域名(如 blog.company.com、api.company.com),但如果子域名对应的服务已停用且未注销,攻击者就能 “抢注” 该子域名,实现劫持。
- 子域名劫持的危害
子域名劫持的核心是 “利用企业废弃的子域名”,常见攻击场景包括:
-
绕过 URL 白名单
:比如 CORS、OAUTH、JSONP 的白名单通常包含企业子域名,劫持子域名后可绕过限制;
-
偷取 Cookie
:在劫持的子域名上部署钓鱼页面,诱导用户访问后偷取 Cookie;
-
账户接管
:通过劫持 OAUTH 回调域名,窃取用户授权码,直接登录目标账户。
- 实战:躺着挖子域名劫持漏洞
用自动化工具(如 Nuclei)可批量扫描子域名劫持漏洞:
- 收集目标企业的所有子域名;
- 用 Nuclei 加载子域名劫持模板(项目地址:
https://github.com/projectdiscovery/nuclei-templates/tree/master/takeovers); - 工具会自动检测子域名是否可被抢注(如阿里云 OSS 桶、GitHub Pages 等)。
- 案例:劫持子域名实现全站 XSS
某企业的子域名 static.company.com 对应的 OSS 桶已停用,攻击者抢注该桶后:
- 在 OSS 桶中开启 “日志存储”,获取全站调用的 JS 文件名;
- 上传同名恶意 JS 文件到桶中;
- 用户访问企业网站时,会加载攻击者上传的恶意 JS,触发全站 XSS。
防御建议:堵住 “配置错误” 的漏洞
这类漏洞的防御核心不是 “买更贵的设备”,而是 “做好基础配置”:
- 针对 HOST 碰撞:
- 虚拟主机配置 “默认拒绝”,仅允许指定的公网域名访问;
- 内网系统禁止部署在公网 IP 上,或通过 VPN/IP 白名单限制访问。
- 针对 OSS 错误配置:
- 严格限制 OSS 的 HTTP 方法,仅开放 GET/HEAD;
- 启用 “防盗链”,限制 referer 为企业域名;
- 定期审计 OSS 的权限配置,避免开放写权限。
- 针对子域名劫持:
- 建立子域名台账,停用子域名时及时注销对应的服务(如 OSS 桶、域名解析);
- 用自动化工具定期扫描废弃子域名,避免被抢注。
配置错误的漏洞,往往藏在 “没人在意的细节” 里 —— 但恰恰是这些细节,可能成为攻击者突破企业防线的 “突破口”。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:野猪与安全 耶度《企业级安全错误配置攻防:从 HOST 碰撞到账户接管的 3 大高危场景》