挖洞经验 | 看我如何发现谷歌电子表格、谷歌云盘和谷歌相册的3个漏洞($4133.7)
字数 1642 2025-08-18 11:37:50

谷歌产品漏洞挖掘与分析教学文档

1. 谷歌电子表格邀请欺骗漏洞

1.1 漏洞发现过程

  • 功能背景:Google电子表格支持邀请(invite)其他用户编辑、查看和评论文档
  • 漏洞触发点userstoinvite参数
  • 关键观察
    • 参数名称为userstoinvite(复数形式)而非usertoinvite
    • 参数值支持逗号分隔的多个邮箱地址
    • 参数值支持"姓名<邮箱>"格式

1.2 漏洞利用方式

  • 构造恶意URL

    https://docs.google.com/spreadsheets/d/cmFuZG9t_c3ByZWFkc2hlZXQ_aWQ/edit?usp=sharing_erp&userstoinvite=Big Boss<attacker@example.com>
    
  • 攻击场景

    1. 攻击者获取目标文档的合法URL
    2. 构造包含虚假姓名和攻击者邮箱的URL
    3. 诱骗受害者(如秘书)点击该链接
    4. 受害者看到"Big Boss"名称而非真实邮箱,误以为是合法请求而授权

1.3 漏洞修复建议

  • 在邀请界面明确显示完整的邮箱地址而非仅显示姓名
  • 对敏感操作增加二次确认步骤
  • 记录并显示邀请历史,便于用户审计

2. 谷歌云盘图片访问漏洞

2.1 漏洞发现过程

  • 测试方法:使用Chrome开发者工具分析网络请求

  • 关键API端点

    1. 图片复制API:
      https://docs.google.com/presentation/d/pReS3nTaT10N_1D/copyimages?id=bG9s_Y2hlY2tvdXR0aGlz_dDY4UkV1MEh3Qnc
      
    2. 图片渲染API:
      https://docs.google.com/presentation/d/pReS3nTaT10N_1D/renderdata?id=bG9s_Y2hlY2tvdXR0aGlz_dDY4UkV1MEh3Qnc
      
  • 漏洞本质:直接对象引用(IDOR)漏洞

    • 仅需知道图片ID即可访问
    • 缺乏对请求者的权限验证

2.2 漏洞利用方式

  • 攻击步骤
    1. 获取目标图片的ID(通过猜测或其他途径)
    2. 构造API请求并附加有效session cookie
    3. 获取图片的直接访问URL

2.3 漏洞修复建议

  • 对所有资源访问API增加严格的权限检查
  • 使用一次性令牌而非直接暴露资源ID
  • 实现资源访问日志记录和异常检测

3. 谷歌相册分享权限漏洞

3.1 漏洞发现过程

  • 测试功能:Shared Libraries(共享图库)功能
  • 关键发现
    • 分享流程中的request参数为base64编码数据
    • 解码后格式:
      [[null,"12587427591239"],null,"e-mail@example.com",null,[2,null,"..."]]
      
    • 可修改邮箱地址并重新编码构造恶意请求

3.2 漏洞利用方式

  • 构造恶意URL

    1. 截获正常分享请求
    2. 解码request参数
    3. 修改目标邮箱为攻击者邮箱
    4. 重新编码并构造URL
  • 攻击效果

    • 无需受害者交互即可完成分享
    • 无任何提示或通知

3.3 漏洞修复建议

  • 对分享操作实施严格的身份验证
  • 增加分享确认步骤和通知机制
  • 使用加密签名而非明文参数传递敏感信息

4. 漏洞挖掘方法论总结

4.1 有效测试方法

  1. 手动测试优先

    • 避免依赖自动化工具
    • 关注非常规功能和边缘场景
  2. 深度分析网络请求

    • 使用Chrome开发者工具
    • 重点关注API端点和参数结构
    • 尝试替换cookie/参数值测试权限控制
  3. 数据格式分析

    • 识别并解码base64等编码参数
    • 分析参数结构和含义

4.2 漏洞挖掘思路

  1. 关注参数处理

    • 参数名称暗示的功能(如复数形式)
    • 参数值的格式和解析方式
  2. 测试权限边界

    • 替换不同用户的session
    • 测试未授权访问可能性
  3. 分析业务流程

    • 识别关键业务逻辑中的信任假设
    • 寻找缺少验证的环节

4.3 成功要素

  • 专业知识:理解Web安全基本原理
  • 耐心:系统性地测试各种可能性
  • 观察力:注意细微的异常行为
  • 创造力:想象非常规的攻击场景

5. 漏洞报告与修复时间线

漏洞类型 上报日期 级别变化 奖励金额 修复日期
电子表格邀请欺骗 2017.10.03 P4→P3 $500 2018.01.16
云盘图片访问 2017.11.27 P3→P1 $500 2018.01.16
相册分享权限 2018.05.12 P4→P2→P1 $3133.70 2018.08.22

6. 推荐测试工具

  1. Chrome开发者工具

    • 网络请求捕获与分析
    • 请求复制为cURL命令
  2. 编码/解码工具

    • Base64编码/解码
    • URL编码/解码
  3. 请求重放工具

    • cURL
    • Postman
    • Burp Suite
谷歌产品漏洞挖掘与分析教学文档 1. 谷歌电子表格邀请欺骗漏洞 1.1 漏洞发现过程 功能背景 :Google电子表格支持邀请(invite)其他用户编辑、查看和评论文档 漏洞触发点 : userstoinvite 参数 关键观察 : 参数名称为 userstoinvite (复数形式)而非 usertoinvite 参数值支持逗号分隔的多个邮箱地址 参数值支持"姓名 <邮箱>"格式 1.2 漏洞利用方式 构造恶意URL : 攻击场景 : 攻击者获取目标文档的合法URL 构造包含虚假姓名和攻击者邮箱的URL 诱骗受害者(如秘书)点击该链接 受害者看到"Big Boss"名称而非真实邮箱,误以为是合法请求而授权 1.3 漏洞修复建议 在邀请界面明确显示完整的邮箱地址而非仅显示姓名 对敏感操作增加二次确认步骤 记录并显示邀请历史,便于用户审计 2. 谷歌云盘图片访问漏洞 2.1 漏洞发现过程 测试方法 :使用Chrome开发者工具分析网络请求 关键API端点 : 图片复制API: 图片渲染API: 漏洞本质 :直接对象引用(IDOR)漏洞 仅需知道图片ID即可访问 缺乏对请求者的权限验证 2.2 漏洞利用方式 攻击步骤 : 获取目标图片的ID(通过猜测或其他途径) 构造API请求并附加有效session cookie 获取图片的直接访问URL 2.3 漏洞修复建议 对所有资源访问API增加严格的权限检查 使用一次性令牌而非直接暴露资源ID 实现资源访问日志记录和异常检测 3. 谷歌相册分享权限漏洞 3.1 漏洞发现过程 测试功能 :Shared Libraries(共享图库)功能 关键发现 : 分享流程中的 request 参数为base64编码数据 解码后格式: 可修改邮箱地址并重新编码构造恶意请求 3.2 漏洞利用方式 构造恶意URL : 截获正常分享请求 解码 request 参数 修改目标邮箱为攻击者邮箱 重新编码并构造URL 攻击效果 : 无需受害者交互即可完成分享 无任何提示或通知 3.3 漏洞修复建议 对分享操作实施严格的身份验证 增加分享确认步骤和通知机制 使用加密签名而非明文参数传递敏感信息 4. 漏洞挖掘方法论总结 4.1 有效测试方法 手动测试优先 : 避免依赖自动化工具 关注非常规功能和边缘场景 深度分析网络请求 : 使用Chrome开发者工具 重点关注API端点和参数结构 尝试替换cookie/参数值测试权限控制 数据格式分析 : 识别并解码base64等编码参数 分析参数结构和含义 4.2 漏洞挖掘思路 关注参数处理 : 参数名称暗示的功能(如复数形式) 参数值的格式和解析方式 测试权限边界 : 替换不同用户的session 测试未授权访问可能性 分析业务流程 : 识别关键业务逻辑中的信任假设 寻找缺少验证的环节 4.3 成功要素 专业知识 :理解Web安全基本原理 耐心 :系统性地测试各种可能性 观察力 :注意细微的异常行为 创造力 :想象非常规的攻击场景 5. 漏洞报告与修复时间线 | 漏洞类型 | 上报日期 | 级别变化 | 奖励金额 | 修复日期 | |---------|---------|---------|---------|---------| | 电子表格邀请欺骗 | 2017.10.03 | P4→P3 | $500 | 2018.01.16 | | 云盘图片访问 | 2017.11.27 | P3→P1 | $500 | 2018.01.16 | | 相册分享权限 | 2018.05.12 | P4→P2→P1 | $3133.70 | 2018.08.22 | 6. 推荐测试工具 Chrome开发者工具 : 网络请求捕获与分析 请求复制为cURL命令 编码/解码工具 : Base64编码/解码 URL编码/解码 请求重放工具 : cURL Postman Burp Suite