大家好,我是 Milad!你们可能知道我叫 Eulex。
让我们开始吧!🚀
如果你想学钓鱼,就读读这篇文章。否则……💸
去年,我读到了一些关于企业急于采用最新技术时出现的不安全实施的文章。众所周知,正确实施安全性总是昂贵且耗时的。这里的黄金结论是,大多数开发人员在集成新技术时不会完整阅读整个文档。有时,一段话甚至一句话就可能使整个系统变得脆弱。
通过关注这些被忽视的细节,我们可以发现其他人多年来一直忽视的漏洞。
我的方法
就我个人而言,我是一个会缩小关注范围的人——我可以花几个月的时间在一个甚至没有太多功能的领域上。这意味着我会阅读每一行代码,以准确了解目标的功能。我称之为 “Deutsch it” ——意思是,无论花多长时间,都要把每件事都做好,而不仅仅是完成。
如果你曾经在德国生活过,你就会知道做一件事要花多少时间——但是一旦完成,它们都会以最高的质量完成。
我的过程
时不时地,我会重新查看已经测试过的程序。我会打开我的XMind(一种思维导图工具),浏览我在测试时构建的大脑树。这个特定的程序是一个大型公共程序,每个黑客可能都测试过它,所以我必须以不同的方式处理它。
由于这是一个功能有限的购物网站,所以我有时间阅读它的 JavaScript 代码。一个月后,我发现了一些中等严重程度的漏洞,比如IDOR,但我的目标不仅仅是找到漏洞——我想测试每一个功能,并突破更深层次的问题。
大发现
在测试过程中,我遇到了Target 使用的第三方支付服务:PayU 。我尝试了 双重支付、竞争条件等常见漏洞,但都没有奏效。
然后,我想起了我的 “Deutsch it” 思维。因此,我开始阅读整个 PayU 文档并观看了一些YouTube 教程(感谢我的印度兄弟的精彩讲解)。
首先,我画出工作流程并记下要点。(顺便说一句,我正在考虑为此购买一台iPad ,但现在花 1,000 美元买一台 iPad 感觉太多了,所以我坚持传统的笔记方式!)
画完完整的工作流程后,我坐下来,喝着我最喜欢的 Lidl 或 Penny 葡萄汁放松一下——它们比 其他的贵几美分,但真的很好喝 😁。 如果你好奇它们长什么样,可以看看这里****
这不是财务建议😁
漏洞利用
当我规划出工作流程后,我开始思考:
“如果开发人员错过了这个步骤会怎么样?”
我喜欢在复杂的实现中发现问题,因为某些东西越难保护,出现错误的可能性就越高。
经过数周的 PayU 分析,我测试了不同的场景,直到发现了这个有趣的漏洞:
- 我将一些产品放入购物车,Target 被重定向到PayU 支付网关,如下所示。
注意:在此之前,我购买了一款便宜的产品, 以了解系统如何处理付款。
- 当我取消订单时,PayU 将我重定向回目标网站,并带有一些如下所示的 URL 参数。
-
如您所见,将状态修改为“成功”,并将payment_id替换 为上次成功交易的 payment_id。
-
我收到了回复,然后轰隆隆——我收到了一张确认订单的发票,但 实际上并没有付款!
我简直不敢相信! 几分钟后,我就成功绕过了支付系统。
举报并获得 9,000 美元奖励
我立即报告了该漏洞。一天之内 , 问题就得到了修复,我还因此获得了3,000 美元的赏金。
由于我曾进行过逆向工程,我知道其他商店也存在漏洞, 因为他们的开发人员也遵循了同样存在缺陷的实施方法。通过在不同平台上利用同一个问题,我最终总共赚了 9,000 美元!
你可以使用一个巧妙的技巧“先报告一个漏洞,等待它解决,然后再报告其他漏洞。如果你一次提交多个漏洞,它们可能会被归为一组!”
此漏洞为何存在这么久?
这不是一件容易的事。我进行了多次测试,甚至每次测试都花费 1-2 美元购买产品进行实验。许多黑客可能在过去 10 年中测试过此系统,但由于坚持时间不够长而错过了这个漏洞。****
通过在我的 localhost 中实现相同的设置,我意识到了这个问题:
- 当订单创建时,商店会等待 PayU 的回复才确认购买,并且不允许创建另一个订单。
- 如果响应包含具有 “成功”状态的 有效 payment_id,则目标系统确认订单——而无需通过 PayU 内部验证payment_id 实际上属于哪个订单!************
经验教训
这个看似 “简单”的漏洞我花了三个月才发现。但在这三个月里,我学到了很多东西。
有些人可能会说: “你应该只关注这个漏洞,这样你就可以早点发现它!” 但请记住:
“你不知道你不知道什么。”
苏格拉底
漏洞赏金计划就是测试数千个功能, 直到其中一个被破坏。
旅程仍在继续……
我仍在研究类似的漏洞,并且总有更多的东西需要学习。
公众号:安全狗的自我修养
bilibili:haidragonx
其它相关课程
rust语言全栈开发视频教程-第一季(2025最新)
详细目录
mac/ios安全视频
QT开发底层原理与安全逆向视频教程
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
- windows网络安全防火墙与虚拟网卡(更新完成)
- windows文件过滤(更新完成)
- USB过滤(更新完成)
- 游戏安全(更新中)
- ios逆向
- windbg
- 还有很多免费教程(限学员)
- windows恶意软件开发与对抗视频教程