挖洞经验 | 谷歌翻译服务(Google Translator)的跨站漏洞
字数 1252 2025-08-18 11:39:15

谷歌翻译服务(Google Translator)跨站漏洞(XSS)分析报告

漏洞概述

本报告详细分析了2020年初在谷歌翻译服务(translate.google.com)中发现的跨站脚本(XSS)漏洞。该漏洞存在于越南语翻译为英语的特定界面中,允许攻击者执行任意JavaScript代码。漏洞最终被谷歌确认为有效漏洞,研究人员获得了$3133.70的奖励。

漏洞发现过程

发现环境

  • 时间:凌晨02:45
  • 场景:研究人员在使用谷歌翻译将越南语转换为英语时发现异常

初步验证

  1. 在翻译输入框中输入包含HTML标签的Payload
  2. 按F12进入Chrome开发者工具检查
  3. 确认Payload中的JavaScript代码被执行

关键发现

  • 只有越南语(源语言)翻译为英语(目标语言)的特定组合存在此漏洞
  • 其他语言组合对HTML标签实施了适当的过滤和编码

漏洞技术细节

漏洞类型

  • 存储型XSS漏洞
  • 由于对用户输入未做充分的HTML标签过滤和编码

有效Payload

<iframe onload="javascript:prompt(document.domain, document.cookie)" id="xss" role="xss">hello xss

最终构造的URL Payload

https://translate.google.com/?hl=en#view=home&op=translate&sl=vi&tl=en&text=%3Ciframe%20onload=%22javascript:alert(document.domain)%22%20id=%22xss%22%20role=%22xss%22%3Ehello%20xss

URL参数说明

  • sl=vi:源语言为越南语
  • tl=en:目标语言为英语
  • text=:包含经过编码的恶意Payload

漏洞验证与争议

谷歌初始回应

  • 认为translate.google.com属于"沙箱安全域名"(sandbox domains)
  • 将漏洞归类为"不需要修复"(Won't Fix)

研究人员反驳

  1. 检查谷歌公布的sandbox domains列表,确认translate.google.com不在其中
  2. sandbox domains的目的是隔离可能影响其他谷歌服务的恶意程序
  3. 翻译服务不应被归类为沙箱域名

最终结果

  • 谷歌重新评估漏洞严重性
  • 确认漏洞有效并给予奖励

漏洞利用潜在影响

  1. 窃取用户信息:通过document.cookie获取用户会话信息
  2. 钓鱼攻击:伪造翻译界面诱导用户输入敏感信息
  3. 恶意重定向:将用户重定向到恶意网站
  4. 会话劫持:获取用户身份验证凭据

漏洞修复建议

  1. 输入过滤:对所有用户输入进行严格的HTML标签过滤
  2. 输出编码:对输出到页面的内容进行适当的编码
  3. 内容安全策略(CSP):实施严格的内容安全策略限制脚本执行
  4. 沙箱隔离:对iframe等元素使用sandbox属性限制功能

漏洞上报时间线

  1. 2019年11月14日 14:05 - 漏洞初报
  2. 2019年11月14日 21:29 - 提供更多参考信息
  3. 2019年11月15日 00:36 - 说明域名分类错误
  4. 2019年11月21日 23:23 - 提交PoC验证视频

经验总结

  1. 全面测试:针对不同语言组合进行测试可能发现特殊场景漏洞
  2. 坚持己见:当确信漏洞有效时,应提供充分证据反驳错误评估
  3. 社区协作:漏洞众测社区的反馈和支持有助于验证漏洞
  4. 文档记录:详细记录发现过程和证据有助于加快漏洞确认

参考资源

  • 原始漏洞报告:Medium平台
  • 漏洞奖励:$3133.70
  • 报告来源:FreeBuf网络安全行业门户
谷歌翻译服务(Google Translator)跨站漏洞(XSS)分析报告 漏洞概述 本报告详细分析了2020年初在谷歌翻译服务(translate.google.com)中发现的跨站脚本(XSS)漏洞。该漏洞存在于越南语翻译为英语的特定界面中,允许攻击者执行任意JavaScript代码。漏洞最终被谷歌确认为有效漏洞,研究人员获得了$3133.70的奖励。 漏洞发现过程 发现环境 时间:凌晨02:45 场景:研究人员在使用谷歌翻译将越南语转换为英语时发现异常 初步验证 在翻译输入框中输入包含HTML标签的Payload 按F12进入Chrome开发者工具检查 确认Payload中的JavaScript代码被执行 关键发现 只有越南语(源语言)翻译为英语(目标语言)的特定组合存在此漏洞 其他语言组合对HTML标签实施了适当的过滤和编码 漏洞技术细节 漏洞类型 存储型XSS漏洞 由于对用户输入未做充分的HTML标签过滤和编码 有效Payload 最终构造的URL Payload URL参数说明 sl=vi :源语言为越南语 tl=en :目标语言为英语 text= :包含经过编码的恶意Payload 漏洞验证与争议 谷歌初始回应 认为translate.google.com属于"沙箱安全域名"(sandbox domains) 将漏洞归类为"不需要修复"(Won't Fix) 研究人员反驳 检查谷歌公布的sandbox domains列表,确认translate.google.com不在其中 sandbox domains的目的是隔离可能影响其他谷歌服务的恶意程序 翻译服务不应被归类为沙箱域名 最终结果 谷歌重新评估漏洞严重性 确认漏洞有效并给予奖励 漏洞利用潜在影响 窃取用户信息 :通过document.cookie获取用户会话信息 钓鱼攻击 :伪造翻译界面诱导用户输入敏感信息 恶意重定向 :将用户重定向到恶意网站 会话劫持 :获取用户身份验证凭据 漏洞修复建议 输入过滤 :对所有用户输入进行严格的HTML标签过滤 输出编码 :对输出到页面的内容进行适当的编码 内容安全策略(CSP) :实施严格的内容安全策略限制脚本执行 沙箱隔离 :对iframe等元素使用sandbox属性限制功能 漏洞上报时间线 2019年11月14日 14:05 - 漏洞初报 2019年11月14日 21:29 - 提供更多参考信息 2019年11月15日 00:36 - 说明域名分类错误 2019年11月21日 23:23 - 提交PoC验证视频 经验总结 全面测试 :针对不同语言组合进行测试可能发现特殊场景漏洞 坚持己见 :当确信漏洞有效时,应提供充分证据反驳错误评估 社区协作 :漏洞众测社区的反馈和支持有助于验证漏洞 文档记录 :详细记录发现过程和证据有助于加快漏洞确认 参考资源 原始漏洞报告:Medium平台 漏洞奖励:$3133.70 报告来源:FreeBuf网络安全行业门户