
在一个周五的晚上,发薪日到了,你饿得想吃个零食(在里约热内卢我们称之为“podrão”),但在点餐过程中,却意外发现了一个可能成为CVE的漏洞?嗯,这正是发生在我身上的故事!
我联系了我经常光顾的餐厅,但这次是我第一次点外卖——在此之前,我只在店里消费过。
在访问网站并完成订单后,我被重定向到一个订单跟踪/状态页面。我注意到了一些引起我兴趣的东西。重定向的URL包含一个名为hash的参数,显然用于引用订单ID。
分配给该参数的值是用Base64编码的。解码这个值后,可以简单地识别出它代表订单的数字ID(例如:MjAwMDE= 对应 20001)。这表明标识符只是被混淆了,而实际上并未受到保护。
URL示例:
https://site.com.br/lanche/pedidos/?hash=<ID-Base64>
由于只是用Base64进行了混淆,我获取了我的订单号,只更改了最后一位数字,再次用Base64编码并发送。令我惊讶的是,我能够看到另一位客户的订单摘要。
如上所述,应用程序没有正确的访问控制验证,这导致了IDOR漏洞,根据OWASP Top 10,它被归类为访问控制破坏。
简而言之,不安全的直接对象引用(IDOR)是一种漏洞,当攻击者能够通过操作Web应用程序URL或参数中使用的标识符来访问或修改对象时出现。它的发生是由于缺乏访问控制检查,无法验证用户是否应该有权访问特定数据。
在这种情况下,利用该漏洞导致暴露了一些可能敏感的信息,例如:姓名、手机号码和完整地址,以及订单信息。这些信息可能构成个人数据泄露,根据情况和意图,可能会产生严重的法律影响,给公司带来财务和声誉损失。在巴西,LGPD(通用个人数据保护法 — 第13.709/2018号法律) 规范了个人数据的处理。此外,这些信息可能被用于欺诈(如通过WhatsApp诈骗或虚假购物),对用户产生直接影响。
我的一个好朋友在看到我的帖子后,报告了他所在地区的一个真实案例,很可能就是利用这个漏洞进行WhatsApp欺诈,证实了其中一种可能性。
在发现并验证漏洞后,我开始了解该系统是餐厅的专有应用程序还是一项服务,以便知道如何进行报告。如果是餐厅的专有应用程序,我会提交报告,亲自交给负责人;如果是服务(实际情况就是如此),我会向Mitre报告以生成一个CVE。
在查找服务提供商之后,我找到了制造商的网站。在他们的网站上,有一个横幅显示他们拥有超过3万名客户,也就是说,这个漏洞可能影响了所有这些客户,考虑到我只找到了产品的一个版本,即1.0。
该公司提供POS(销售点)服务,这正是可以对此进行利用的产品。
在识别出漏洞后,我使用Python编写脚本自动化了整个利用过程。该脚本自动完成了最初手动完成的所有步骤。它为参数生成000到999范围内的随机值,将每个值编码为Base64,向应用程序发出请求,并在过程结束时将所有响应保存到一个HTML文件中。由于该脚本仅用于自动化概念验证过程,我将前两位数字固定为20,只随机化接下来的3位数字,即20<随机数>,但这可以在代码中轻松修改。
实际操作如下:
第1次尝试:20000
第2次尝试:20001
第3次尝试:20002
...
第999次尝试:20999
由于应用程序对于不存在的订单也返回200 OK状态,因此包含了一些条件来过滤结果。这样,脚本只保存那些特定div(包含订单信息的那些)不为空的响应,使输出更加精确和相关。
打开保存的输出文件后,我发现即使只过滤了包含信息的div,信息的可读性仍然很差。
于是我创建了第二个脚本,它接收这个初始输出,进行解析,并拥有一个更友好(也许过于友好了🤣)的前端。
我用第一个脚本生成的输出执行了这个脚本,结果如下。
好吧,我已经向Mitre提交了报告,现在正在等待回复。我上一次的CVE花了4个月才得到验证,所以需要有耐心...很大的耐心!
一旦有消息,我会更新这篇文章。
如之前承诺的,我来更新关于报告的CVE的情况。在提交报告大约一个月后,我收到了回复并获得了CVE ID。今天,2025年8月25日,CVE的状态终于从RESERVED更改为PUBLISHED。
Mitre根据CVSS v3.1将该漏洞的影响评定为9.8,这将其归类为严重漏洞。以下是有关该CVE的更多技术信息。
CVE-2025–45968
描述:System PDV v1.0中的一个问题允许远程攻击者通过URL中的hash参数获取敏感信息。该应用程序包含一个不安全的直接对象引用(IDOR)漏洞,这是由于在访问由该参数引用的对象时缺乏适当的授权检查所致。这使得能够未经适当许可直接访问其他用户的数据或内部资源。成功利用此缺陷可能导致机密信息暴露。
OWASP Top 10 类别:A01:2021 — 访问控制破坏
影响:敏感和机密信息暴露,如姓名、电话号码和地址。这些信息可能构成个人数据泄露,根据情况和意图,可能会产生严重的法律影响,给公司带来财务和声誉损失。在巴西,LGPD(通用个人数据保护法 — 第13.709/2018号法律)规范了个人数据的处理。
CVSS 3.1:9.8 — 严重 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
版本:System PDV v1.0
参考文献
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。