仅限会员阅读的故事
“当菜单选择变恶意:揭露 Zomato 小部件中的 XSS 漏洞”
作者:Aman Sharma 阅读时间:4 分钟·2025 年 12 月 12 日
在探究流行的餐厅发现平台 Zomato 的数字基础设施时,安全研究员 pr0tagon1st 偶然发现了一些令人担忧的情况。
该平台的两个小部件端点,旨在将餐厅合集嵌入到其他网站,却粗心地回显了用户输入。一个看似无害的 URL 参数成为了攻击者向受信任的 Zomato 域名注入恶意脚本的直接通道。
(按下回车或点击以查看完整尺寸的图像)
这并非核心网站中的缺陷,而是在其支持性基础设施中——这提醒我们,攻击者常常瞄准系统中防御最薄弱的环节。让我们剖析这一发现,以理解处理 URL 数据时的一个简单疏忽,如何为跨站脚本(XSS)这一网络中最持久的威胁之一打开大门。
小部件攻击剖析
该漏洞存在于两个小部件端点:all_collections.php 和 o2.php。这些是外部网站用于展示 Zomato 内容的辅助脚本。
研究员发现,这些脚本中的 city_id 和 language_id 参数未能正确过滤或编码 HTML 和 JavaScript 输入。攻击者可以构造一个类似下方示例的恶意 URL,其中 city_id ...FINISHED
CSD0tFqvECLokhw9aBeRqqy7pDVE9jtHSghPeFdiPyGjo4TfYWBk4FAOeY0df7vJe9KX2xsgFlg9zRWx2zr1RR33qYnki5Qn0ke9s/+pzi2HSZ/6/FECcQ7oi8ew0fryEnIn4Y/GzATFesijkg8JMB466g3+c3AgjeMibGa+B+E=