挖洞经验丨看我如何发现谷歌某生产系统中的LFI漏洞($13,337)
字数 1658 2025-08-18 11:38:41

谷歌生产系统LFI漏洞分析与利用教学文档

漏洞概述

本教学文档详细分析了一个在谷歌生产系统(springboard.google.com)中发现的本地文件包含(LFI)漏洞,该漏洞最终获得了$13,337的漏洞奖励。漏洞通过重定向组合构造方式被发现,能够远程在目标服务器上实现本地系统命令运行,获取系统敏感运行信息。

漏洞发现过程

第一次尝试:身份验证绕过

  1. 初始访问

    • 访问 https://springboard.google.com/ 会重定向到 https://cloudsearch.google.com/cloudsearch/error?et=6
    • 页面提示"只有内部工作人员才有权限执行应用服务"
  2. 目录访问发现

    • 访问特定目录 https://springboard.google.com/REDACTED_DIR
    • 出现"OnContent Debug for"调试窗口
    • 初步判断为内部信息泄露
  3. 谷歌回应

    • 第一次评估认为"不算太严重以致可以分类为某种漏洞"
    • 一周后确认"暂未达到奖励标准"

第二次尝试:深入挖掘LFI漏洞

  1. 使用工具

    • 使用Web应用暴破工具wfuzz发现隐藏目录
  2. 漏洞确认

    • 访问 https://springboard.google.com/REDACTED_DIR/ANOTHER_DIR
    • 显示"Redacted status main"(FrameworkInfo)的运行状态信息
    • 点击"Show REDACTED"按钮重定向到包含文件参数的URL
  3. LFI验证

    • 重定向到 https://springboard.google.com/REDACTED_DIR/ANOTHER_DIR?file=/proc/self/environ
    • 成功加载并显示 /proc/self/environ 内容
    • 验证了LFI漏洞的存在

漏洞利用技术细节

LFI漏洞利用方法

  1. 基础利用

    • 通过file参数直接读取系统文件
    • 示例:?file=/proc/self/environ 显示环境变量
  2. 系统信息收集

    • /proc/version - 获取系统版本信息
    • /proc/self/environ - 获取当前进程环境变量(每次刷新不同,说明有多个服务器)
  3. 尝试进一步利用

    • 尝试读取 /proc/*/fd - 文件描述符信息
    • 尝试获取ssh keys和server keys等敏感信息
    • 尝试从LFI升级到RCE(未成功)

技术要点

  1. 重定向构造

    • 通过特定目录访问触发重定向
    • 重定向URL中包含文件参数
  2. 信息泄露范围

    • 系统环境变量
    • 进程信息
    • 系统版本信息
  3. 权限级别

    • 具备管理员权限的LFI
    • 可以访问系统级文件

漏洞修复建议

  1. 输入验证

    • 对文件路径参数进行严格过滤
    • 限制可访问的文件路径范围
  2. 访问控制

    • 加强内部系统的身份验证机制
    • 限制调试信息的公开访问
  3. 错误处理

    • 统一错误页面,避免泄露系统信息
    • 禁用生产环境中的调试功能

教学总结

  1. 漏洞挖掘思路

    • 从简单的信息泄露入手
    • 使用工具辅助发现隐藏资源
    • 不满足于初步发现,深入挖掘潜在漏洞
  2. LFI漏洞利用技巧

    • 尝试读取/proc目录下的各类文件
    • 观察系统响应,寻找可利用点
    • 尝试从信息泄露升级到代码执行
  3. 漏洞报告经验

    • 第一次报告可能不被认可,需要提供更有力的证据
    • 展示漏洞的实际危害和影响范围
    • 坚持深入挖掘,可能发现更严重的漏洞

附录:关键命令和URL结构

  1. 关键URL结构

    https://springboard.google.com/REDACTED_DIR/ANOTHER_DIR?file=[文件路径]
    
  2. 有用的/proc路径

    • /proc/self/environ - 环境变量
    • /proc/version - 系统版本
    • /proc/[pid]/fd/ - 文件描述符
  3. 工具使用

    • wfuzz - Web目录和文件暴破工具
    • 浏览器开发者工具 - 观察重定向和网络请求

通过本案例的学习,安全研究人员可以掌握从简单信息泄露到发现严重LFI漏洞的完整思路和方法,以及如何有效报告漏洞以获得认可和奖励。

谷歌生产系统LFI漏洞分析与利用教学文档 漏洞概述 本教学文档详细分析了一个在谷歌生产系统(springboard.google.com)中发现的本地文件包含(LFI)漏洞,该漏洞最终获得了$13,337的漏洞奖励。漏洞通过重定向组合构造方式被发现,能够远程在目标服务器上实现本地系统命令运行,获取系统敏感运行信息。 漏洞发现过程 第一次尝试:身份验证绕过 初始访问 : 访问 https://springboard.google.com/ 会重定向到 https://cloudsearch.google.com/cloudsearch/error?et=6 页面提示"只有内部工作人员才有权限执行应用服务" 目录访问发现 : 访问特定目录 https://springboard.google.com/REDACTED_DIR 出现"OnContent Debug for"调试窗口 初步判断为内部信息泄露 谷歌回应 : 第一次评估认为"不算太严重以致可以分类为某种漏洞" 一周后确认"暂未达到奖励标准" 第二次尝试:深入挖掘LFI漏洞 使用工具 : 使用Web应用暴破工具wfuzz发现隐藏目录 漏洞确认 : 访问 https://springboard.google.com/REDACTED_DIR/ANOTHER_DIR 显示"Redacted status main"(FrameworkInfo)的运行状态信息 点击"Show REDACTED"按钮重定向到包含文件参数的URL LFI验证 : 重定向到 https://springboard.google.com/REDACTED_DIR/ANOTHER_DIR?file=/proc/self/environ 成功加载并显示 /proc/self/environ 内容 验证了LFI漏洞的存在 漏洞利用技术细节 LFI漏洞利用方法 基础利用 : 通过 file 参数直接读取系统文件 示例: ?file=/proc/self/environ 显示环境变量 系统信息收集 : /proc/version - 获取系统版本信息 /proc/self/environ - 获取当前进程环境变量(每次刷新不同,说明有多个服务器) 尝试进一步利用 : 尝试读取 /proc/*/fd - 文件描述符信息 尝试获取ssh keys和server keys等敏感信息 尝试从LFI升级到RCE(未成功) 技术要点 重定向构造 : 通过特定目录访问触发重定向 重定向URL中包含文件参数 信息泄露范围 : 系统环境变量 进程信息 系统版本信息 权限级别 : 具备管理员权限的LFI 可以访问系统级文件 漏洞修复建议 输入验证 : 对文件路径参数进行严格过滤 限制可访问的文件路径范围 访问控制 : 加强内部系统的身份验证机制 限制调试信息的公开访问 错误处理 : 统一错误页面,避免泄露系统信息 禁用生产环境中的调试功能 教学总结 漏洞挖掘思路 : 从简单的信息泄露入手 使用工具辅助发现隐藏资源 不满足于初步发现,深入挖掘潜在漏洞 LFI漏洞利用技巧 : 尝试读取/proc目录下的各类文件 观察系统响应,寻找可利用点 尝试从信息泄露升级到代码执行 漏洞报告经验 : 第一次报告可能不被认可,需要提供更有力的证据 展示漏洞的实际危害和影响范围 坚持深入挖掘,可能发现更严重的漏洞 附录:关键命令和URL结构 关键URL结构 : 有用的/proc路径 : /proc/self/environ - 环境变量 /proc/version - 系统版本 /proc/[pid]/fd/ - 文件描述符 工具使用 : wfuzz - Web目录和文件暴破工具 浏览器开发者工具 - 观察重定向和网络请求 通过本案例的学习,安全研究人员可以掌握从简单信息泄露到发现严重LFI漏洞的完整思路和方法,以及如何有效报告漏洞以获得认可和奖励。