前言
国外白帽小哥在一次渗透测试时,发现目标网站使用了第三方支付服务-PayU,于是小哥开始对该支付服务进行漏洞挖掘,先后尝试了常规漏洞测试、双重消费、条件竞争等,毫无意外,均告失败。
重大发现
小哥并没有被失败轻易击倒,调整心态后,他开始阅读 PayU 的文档,并观看了一些 YouTube 教程,并将过程中的关键点做了一一记录。
通过这些过程以及关键点,白帽小哥开始思考:
“如果开发者错过了这个步骤会怎样?”
经过几周对 PayU 的分析,小哥测试了不同的场景,直到找到下面这个有趣的漏洞:
- 首先,小哥将一些产品放入购物车,然后会被重定向到 PayU 的支付网关
注:在此之前,小哥购买了一个便宜的产品来查看系统如何处理支付过程
- 当取消订单时,PayU 会将 URL 重定向回目标网站,并附带了一些 URL 参数:
-
正如上面抓包截图所示,如果将 status 参数修改“Succeed”,并用之前成功交易中的 payment_id 进行替换
-
查看响应返回,无需付款,便成功收到了订单确认的信息!
报告
白帽小哥立即报告了该漏洞,一天之内漏洞便得到了修复,小哥因此获得了 3000 美元的赏金奖励。
由于白帽小哥使用了逆向工程,他深知其它商店会存在同样的漏洞,因此小哥总计获得了 9000 美元的赏金奖励。
希望今天的故事能对你有所收获~
原文:https://eulex.medium.com/how-i-made-9-000-in-one-month-from-bug-bounty-9403147b4d07