白帽故事 · 2025年4月29日 0

【白帽狩猎日记】一个支付逻辑漏洞,怒赚 $9000 赏金

Table of Contents

前言

国外白帽小哥在一次渗透测试时,发现目标网站使用了第三方支付服务-PayU,于是小哥开始对该支付服务进行漏洞挖掘,先后尝试了常规漏洞测试、双重消费、条件竞争等,毫无意外,均告失败。

重大发现

小哥并没有被失败轻易击倒,调整心态后,他开始阅读 PayU 的文档,并观看了一些 YouTube 教程,并将过程中的关键点做了一一记录。

通过这些过程以及关键点,白帽小哥开始思考:

“如果开发者错过了这个步骤会怎样?”

经过几周对 PayU 的分析,小哥测试了不同的场景,直到找到下面这个有趣的漏洞:

  1. 首先,小哥将一些产品放入购物车,然后会被重定向到 PayU 的支付网关

file

注:在此之前,小哥购买了一个便宜的产品来查看系统如何处理支付过程

  1. 当取消订单时,PayU 会将 URL 重定向回目标网站,并附带了一些 URL 参数:

file

  1. 正如上面抓包截图所示,如果将 status 参数修改“Succeed”,并用之前成功交易中的 payment_id 进行替换

  2. 查看响应返回,无需付款,便成功收到了订单确认的信息!

file

报告

白帽小哥立即报告了该漏洞,一天之内漏洞便得到了修复,小哥因此获得了 3000 美元的赏金奖励。

由于白帽小哥使用了逆向工程,他深知其它商店会存在同样的漏洞,因此小哥总计获得了 9000 美元的赏金奖励。

希望今天的故事能对你有所收获~

原文:https://eulex.medium.com/how-i-made-9-000-in-one-month-from-bug-bounty-9403147b4d07