挖洞经验 | 一个价值$3133.7美金的Google漏洞
字数 1633 2025-08-18 11:37:42

Google云平台安全漏洞分析与利用教学文档

漏洞概述

本教学文档详细分析了一个价值3133.7美金的Google云平台安全漏洞。该漏洞存在于Google云服务平台"cloud.google.com"中,通过精心构造的HTTP请求,攻击者能够获取服务器的内部配置信息和敏感数据。

漏洞发现过程

初始发现

研究人员在对Google云服务进行安全测试时,发现了一个有趣的请求:

https://cloudusersettings-pa.clients6.google.com/batch?%24ct=multipart%2Fmixed%3B%20boundary%3Dbatch392541909285510985

该请求具有以下特点:

  1. GET请求被包含在POST请求中
  2. 可以通过主请求URL中的值控制content-type
  3. POST请求内容中包含了一个key值

请求处理机制分析

服务器"cloudusersettings-pa.clients6.google.com"的处理流程:

  1. 通过POST请求内容将GET请求中继转发给中间服务器
  2. 中间服务器(可能是反向代理或负载均衡器)解析GET请求
  3. 中间服务器不关心原始POST请求的header,只解析POST请求中的GET请求header

漏洞利用思路

可控制点

  1. 可以控制中间服务器将要处理的header头信息
  2. 可以通过URL中的参数控制响应内容类型
  3. 请求内容中包含key和授权头值(authorization header value)

测试方法

研究人员尝试了多种测试方法:

  1. 虚拟主机名枚举

    • 在HOST头中尝试dev、localhost、portal等常见虚拟主机名
    • 目的:发现暴露的webserver配置信息
    • 结果:失败
  2. IP地址欺骗

    • 使用以下header伪造IP:
      X-Forwarded-For: 127.0.0.1
      X-Client-IP: 127.0.0.1
      Client-IP: 127.0.0.1
      
    • 目的:欺骗Google后端服务器
    • 结果:失败
  3. 错误诱导

    • 发送大量垃圾数据(如AAAAA)
    • 修改HTTP协议版本
    • 添加随机header
    • 操纵content-type
    • 目的:促使服务器出错暴露信息
    • 结果:失败
  4. User-Agent测试

    • 测试Blind XSS或SQL注入
    • 结果:失败
  5. Origin头操纵

    • 测试CORS配置错误
    • 结果:Google有良好的origin验证

突破性发现:X-HTTP-Method-Override利用

X-HTTP-Method-Override原理

该header允许客户端覆盖HTTP方法:

  • 可以发送GET请求但声明为PUT、POST或DELETE方法
  • 服务器会按照声明的覆盖方法处理请求

示例请求:

GET /test.php HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
X-HTTP-Method-Override: PUT
Accept-Encoding: gzip, deflate
Connection: close

实际应用场景

  1. 中间设备(如WAF)可能限制HTTP方法(仅支持GET/POST)
  2. 后端服务器支持更多方法(如PUT/DELETE)
  3. 通过X-HTTP-Method-Override可以绕过限制

漏洞利用结果

虽然未能实现RCE,但发现:

  1. 中间服务器无法解析设置的header时抛出错误
  2. 错误消息中包含大量敏感信息:
    • HTTPOnly和Secure cookies
    • SSL握手信息
    • 服务器间通信的IP地址和端口
    • 授权头信息和其他敏感数据

潜在攻击场景

  1. CSRF攻击:构造恶意请求针对Google用户
  2. 信息窃取:在反射型XSS场景下窃取HTTPOnly cookies
  3. 攻击需要更改X-HTTP-Method-Override属性

漏洞修复与奖励

  1. Google将漏洞分类为P1级别(重要)
  2. 迅速修复了该漏洞
  3. 奖励研究人员3133.7美金

教学总结

关键学习点

  1. 请求处理链分析:理解请求在多层架构中的流转过程
  2. header操纵技术:特别是X-HTTP-Method-Override的应用
  3. 错误信息利用:从错误响应中提取敏感信息
  4. 安全测试方法论:系统性的测试方法探索

防御建议

  1. 严格验证所有输入,包括header
  2. 限制错误消息中的信息暴露
  3. 实施严格的中间件配置
  4. 监控异常的X-HTTP-Method-Override使用

扩展思考

  1. 类似技术在其他云平台的应用可能性
  2. 多层架构中的安全边界验证
  3. HTTP协议特性的安全影响评估

通过本案例,安全研究人员可以学习到如何通过系统性的测试方法发现复杂系统中的安全漏洞,以及如何利用协议特性绕过安全限制。

Google云平台安全漏洞分析与利用教学文档 漏洞概述 本教学文档详细分析了一个价值3133.7美金的Google云平台安全漏洞。该漏洞存在于Google云服务平台"cloud.google.com"中,通过精心构造的HTTP请求,攻击者能够获取服务器的内部配置信息和敏感数据。 漏洞发现过程 初始发现 研究人员在对Google云服务进行安全测试时,发现了一个有趣的请求: 该请求具有以下特点: GET请求被包含在POST请求中 可以通过主请求URL中的值控制content-type POST请求内容中包含了一个key值 请求处理机制分析 服务器"cloudusersettings-pa.clients6.google.com"的处理流程: 通过POST请求内容将GET请求中继转发给中间服务器 中间服务器(可能是反向代理或负载均衡器)解析GET请求 中间服务器不关心原始POST请求的header,只解析POST请求中的GET请求header 漏洞利用思路 可控制点 可以控制中间服务器将要处理的header头信息 可以通过URL中的参数控制响应内容类型 请求内容中包含key和授权头值(authorization header value) 测试方法 研究人员尝试了多种测试方法: 虚拟主机名枚举 在HOST头中尝试dev、localhost、portal等常见虚拟主机名 目的:发现暴露的webserver配置信息 结果:失败 IP地址欺骗 使用以下header伪造IP: 目的:欺骗Google后端服务器 结果:失败 错误诱导 发送大量垃圾数据(如AAAAA) 修改HTTP协议版本 添加随机header 操纵content-type 目的:促使服务器出错暴露信息 结果:失败 User-Agent测试 测试Blind XSS或SQL注入 结果:失败 Origin头操纵 测试CORS配置错误 结果:Google有良好的origin验证 突破性发现:X-HTTP-Method-Override利用 X-HTTP-Method-Override原理 该header允许客户端覆盖HTTP方法: 可以发送GET请求但声明为PUT、POST或DELETE方法 服务器会按照声明的覆盖方法处理请求 示例请求: 实际应用场景 中间设备(如WAF)可能限制HTTP方法(仅支持GET/POST) 后端服务器支持更多方法(如PUT/DELETE) 通过X-HTTP-Method-Override可以绕过限制 漏洞利用结果 虽然未能实现RCE,但发现: 中间服务器无法解析设置的header时抛出错误 错误消息中包含大量敏感信息: HTTPOnly和Secure cookies SSL握手信息 服务器间通信的IP地址和端口 授权头信息和其他敏感数据 潜在攻击场景 CSRF攻击 :构造恶意请求针对Google用户 信息窃取 :在反射型XSS场景下窃取HTTPOnly cookies 攻击需要更改X-HTTP-Method-Override属性 漏洞修复与奖励 Google将漏洞分类为P1级别(重要) 迅速修复了该漏洞 奖励研究人员3133.7美金 教学总结 关键学习点 请求处理链分析 :理解请求在多层架构中的流转过程 header操纵技术 :特别是X-HTTP-Method-Override的应用 错误信息利用 :从错误响应中提取敏感信息 安全测试方法论 :系统性的测试方法探索 防御建议 严格验证所有输入,包括header 限制错误消息中的信息暴露 实施严格的中间件配置 监控异常的X-HTTP-Method-Override使用 扩展思考 类似技术在其他云平台的应用可能性 多层架构中的安全边界验证 HTTP协议特性的安全影响评估 通过本案例,安全研究人员可以学习到如何通过系统性的测试方法发现复杂系统中的安全漏洞,以及如何利用协议特性绕过安全限制。