挖洞经验 | 劫持Google Data Studio的共享报告链接
字数 1173 2025-08-18 11:39:30

Google Data Studio 共享报告链接劫持漏洞分析

漏洞概述

本教学文档详细分析Google Data Studio平台中存在的一个授权漏洞,该漏洞允许攻击者修改他人分享的报告链接,实现对他人报告的劫持。

漏洞发现过程

1. 初始观察

  1. 创建空白报告后,通过"共享"→"获取报告链接"生成报告链接
  2. 链接格式为:datastudio.google.com/[随机字符串]
  3. 点击"链接到当前报告的数据视图"会向服务端发送请求

2. 请求分析

使用Burp抓包发现POST请求包含两个关键参数:

  • reportId: 如87d41ef9-1ebc-4d92-84e7-d5948e5940ed
  • shortLink中的id: 如m7PKn-j4R_s

3. 参数篡改测试

  1. 修改id参数:

    • 保持reportId不变,将id改为随机值(如"iamsushi")
    • 访问https://datastudio.google.com/s/iamsushi成功跳转到原报告
    • 表明id参数可被任意修改而不影响报告访问
  2. 跨账号测试:

    • 使用另一Google账号创建的报告
    • 修改其id参数为自定义值
    • 成功覆盖原链接,使原链接指向攻击者控制的报告
  3. reportId参数测试:

    • 修改reportId首位数字(8→7)导致500错误
    • 但替换为其他有效reportId可成功响应

攻击利用方法

  1. 攻击者创建自己的报告,生成如https://datastudio.google.com/s/XXXX的链接
  2. 通过Google Dork搜索公开的、暴露shortlinksid参数的报告
  3. 将他人报告的id参数修改为XXXX
  4. 当用户访问原报告链接时,将被重定向到攻击者的报告

漏洞原理

该漏洞属于IDOR(Insecure Direct Object Reference)类型,服务端未对以下操作进行充分授权验证:

  1. 修改id参数时未验证用户是否有权修改目标报告
  2. 链接生成机制允许任意用户覆盖已存在的短链接

防御建议

  1. 服务端应验证用户对目标报告的所有权或修改权限
  2. 实现短链接与报告所有者的绑定机制
  3. 对敏感操作实施CSRF防护
  4. 增加操作日志记录和异常检测

经验总结

  1. 测试前充分了解目标应用的工作机制
  2. 保持探索心态,反复测试可疑行为
  3. 从防御者角度思考可能的突破点
  4. 关注服务端响应中的潜在信息
  5. 记录和思考开发者可能忽视的用户操作路径
  6. 全面评估漏洞的实际危害性

漏洞处理时间线

  • 2019.12.5: 初次提交,谷歌无法复现
  • 2019.12.5: 提供详细漏洞信息
  • 2019.12.14: 漏洞被分类为P2级别

该漏洞展示了即使是在Google这样的顶级科技公司产品中,也可能存在简单的授权缺陷,强调了全面安全测试的重要性。

Google Data Studio 共享报告链接劫持漏洞分析 漏洞概述 本教学文档详细分析Google Data Studio平台中存在的一个授权漏洞,该漏洞允许攻击者修改他人分享的报告链接,实现对他人报告的劫持。 漏洞发现过程 1. 初始观察 创建空白报告后,通过"共享"→"获取报告链接"生成报告链接 链接格式为: datastudio.google.com/[随机字符串] 点击"链接到当前报告的数据视图"会向服务端发送请求 2. 请求分析 使用Burp抓包发现POST请求包含两个关键参数: reportId : 如 87d41ef9-1ebc-4d92-84e7-d5948e5940ed shortLink 中的 id : 如 m7PKn-j4R_s 3. 参数篡改测试 修改id参数 : 保持 reportId 不变,将 id 改为随机值(如"iamsushi") 访问 https://datastudio.google.com/s/iamsushi 成功跳转到原报告 表明 id 参数可被任意修改而不影响报告访问 跨账号测试 : 使用另一Google账号创建的报告 修改其 id 参数为自定义值 成功覆盖原链接,使原链接指向攻击者控制的报告 reportId参数测试 : 修改 reportId 首位数字(8→7)导致500错误 但替换为其他有效 reportId 可成功响应 攻击利用方法 攻击者创建自己的报告,生成如 https://datastudio.google.com/s/XXXX 的链接 通过Google Dork搜索公开的、暴露 shortlinks 中 id 参数的报告 将他人报告的 id 参数修改为 XXXX 当用户访问原报告链接时,将被重定向到攻击者的报告 漏洞原理 该漏洞属于IDOR(Insecure Direct Object Reference)类型,服务端未对以下操作进行充分授权验证: 修改 id 参数时未验证用户是否有权修改目标报告 链接生成机制允许任意用户覆盖已存在的短链接 防御建议 服务端应验证用户对目标报告的所有权或修改权限 实现短链接与报告所有者的绑定机制 对敏感操作实施CSRF防护 增加操作日志记录和异常检测 经验总结 测试前充分了解目标应用的工作机制 保持探索心态,反复测试可疑行为 从防御者角度思考可能的突破点 关注服务端响应中的潜在信息 记录和思考开发者可能忽视的用户操作路径 全面评估漏洞的实际危害性 漏洞处理时间线 2019.12.5: 初次提交,谷歌无法复现 2019.12.5: 提供详细漏洞信息 2019.12.14: 漏洞被分类为P2级别 该漏洞展示了即使是在Google这样的顶级科技公司产品中,也可能存在简单的授权缺陷,强调了全面安全测试的重要性。