挖洞经验 | 谷歌翻译服务(Google Translator)的跨站漏洞
字数 1252 2025-08-18 11:39:15
谷歌翻译服务(Google Translator)跨站漏洞(XSS)分析报告
漏洞概述
本报告详细分析了2020年初在谷歌翻译服务(translate.google.com)中发现的跨站脚本(XSS)漏洞。该漏洞存在于越南语翻译为英语的特定界面中,允许攻击者执行任意JavaScript代码。漏洞最终被谷歌确认为有效漏洞,研究人员获得了$3133.70的奖励。
漏洞发现过程
发现环境
- 时间:凌晨02:45
- 场景:研究人员在使用谷歌翻译将越南语转换为英语时发现异常
初步验证
- 在翻译输入框中输入包含HTML标签的Payload
- 按F12进入Chrome开发者工具检查
- 确认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)
研究人员反驳
- 检查谷歌公布的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网络安全行业门户