未经许可,不得转载。
今天我们将分享一个关于在 Bugcrowd 平台的 HubSpot 公共漏洞赏金计划中实现全账户接管的故事。
文章目录
- 正文
- SQL 注入
- 主机头污染(Host Header Poisoning)
- 负载均衡器主机头覆盖(Load Balancer Host Header Override)
- Referer Header 测试
- ORIGIN Header 测试
- 绕过正则表达式验证
- 尝试 1: 绕过主机名包含 growanz.hubspot.com 的匹配
- 尝试 2: 使用弱正则表达式匹配
- 尝试 3: 绕过匹配以 growanz.hubspot.com 结尾的限制
- 尝试 4: 绕过白名单验证
- HTTP参数污染(HPP)
- 攻击链(SMTP注入和HTTP参数污染)
- 攻击$to参数
- CRLF注入
- Unix系统(`\n` URL编码)
- Windows系统(`\r\n` URL编码)
- 攻击$additional_headers参数
- 操作系统命令注入
- 电子邮件数组
- 参数暴力破解
正文
我们测试的子域为 https://growanz.hubspot.com。
认证功能中有一个 “忘记注册号” 功能。
这个功能会要求我们输入电子邮件地址,接着系统将发送一条一次性链接,用于无需注册号(密码)直接登录。
SQL 注入
由于存在 email 参数,后台必然有某种类型的数据库来处理这些电子邮件地址。因此,email 参数成为测试 SQL 注入(SQLI) 的最佳位置。