远程代码执行漏洞分析:ws1.aholdusa.com
背景
Ahold Delhaize自称是全球最大的食品零售集团之一。他们每周服务6000万客户,拥有150年历史,员工超过41.4万人。该公司声称是超市和电子商务领域的领导者,并在2020年因支持网络安全透明度而获奖。
漏洞讨论
这个严重的CVSS 10分漏洞在报告后超过3.5年仍未修复。作者强烈怀疑该漏洞自2005年就已存在,使员工凭证面临泄露风险。
侦查过程
通过侦查发现https://ws1.aholdusa.com/用于美国员工登录,服务器别名为ldap-ws-vip.aholdusa.com。使用Waybackurls工具发现了包含cgi-bin的遗留端点,其中包含.pl扩展名的Perl脚本。
发现服务器端模板注入漏洞
通过Burp Suite工具测试,发现version参数存在反射型XSS漏洞。进一步测试发现了Perl代码注入漏洞,可使用{${sleep(lc(20))}}
payload使服务器休眠20秒。
利用漏洞
成功构造payload泄露/etc/passwd文件:
|
|
该payload使用Perl的LWP::UserAgent模块将/etc/passwd文件内容发送到攻击者控制的服务器。
额外payload示例
获取当前Linux用户:
|
|
时间线
- 2020-04-23:向Ahold安全团队报告漏洞
- 2020-04-23:Ahold确认漏洞
- 2023-11-02:Ahold请求确认漏洞修复
- 2023-11-09:确认漏洞仍然存在
- 2023-11-13:获得300欧元赏金
- 2023-11-15:虚假修复(仅GET请求返回404)
- 2023-11-20:确认真正修复
- 2023-12-14:公开披露
结论
该身份管理系统/LDAP服务器存在完全被攻破的风险。虽然漏洞已修复,但考虑到其可能存在的时长(自2005年起),所有使用该服务器的用户/员工/客户/供应商数据都应被视为已泄露。