支付漏洞挖掘实战,支付1 美元获得100 美元(或任何金额)

介绍

这篇文章是关于我在私人漏洞赏金计划中发现的一个漏洞。出于隐私和法律方面的考虑,我将提供示例请求和屏幕截图来说明该漏洞。

漏洞复现

我将讨论我在支付系统中发现的一个严重漏洞,该漏洞使我能够利用 1 美元的付款并收到 100 美元的回报。该漏洞暴露了系统支付处理逻辑中的一个重大缺陷,使我能够利用它来谋取个人利益。通过细致的测试和分析,我成功识别并验证了该错误,突出了其中涉及的潜在风险并提供了修复建议。

我正在测试的应用程序有一个付款选项,要为我的帐户充值,我需要输入所需的金额并单击充值按钮。此操作会将我重定向到 IPG(互联网支付网关)。然而,当我使用 Burp Suite 拦截流量时,我观察到 Web 应用程序在直接将请求发送到 IPG 之前发出了额外的请求和验证。下图描述了存在漏洞的请求。

如上图所示,有两个端点指定了金额。根据我的分析,“ payment_amount ”端点负责从我的信用卡中扣除 100 美元,而“ recharge_amount ”端点则确定要充值到我的帐户中的金额。

该漏洞在于“ payment_amount ”端点缺乏适当的数据验证。这使我能够操纵付款金额,仅从我的信用卡中扣除 1 美元,同时向我的账户充值 100 美元。我尝试输入 $0,但由于金额无效而在 IPG 阶段失败。

因此,存在漏洞的请求将类似于下图所示,其中“ payment_amount”设置为 1 美元,“recharge_amount”设置为 100 美元。

发送上述请求后,IPG 接受付款并将其更新为 1 美元的信用卡付款,如下图所示。

最后,当我输入卡详细信息并支付 1 美元时,我的帐户被充值了 100 美元。同样,我测试了该漏洞高达 50,000 美元,没有引起任何怀疑,直到我负责任地向他们报告。

影响和潜在风险

这个漏洞的影响是巨大的,因为它允许任何用户操纵支付系统以谋取个人利益。

这不仅使组织面临财务损失,而且还破坏了支付基础设施的完整性。与此漏洞相关的潜在风险包括欺诈活动、财务剥削以及对受影响组织的严重声誉损害。

建议

鉴于这一发现,组织迅速解决此漏洞至关重要。为了修复该错误,我建议采取以下措施:

1.实施彻底的输入验证和强大的支付处理逻辑,以确保准确处理交易。

2.进行全面的代码审查和安全测试,以识别并纠正整个应用程序中的类似漏洞。

3.定期监控支付交易是否有任何可疑活动或异常情况。

总结

利用 1 美元的付款并获得 100 美元的回报。

通过分析系统的支付处理逻辑,我发现了支付金额验证中的一个缺陷,使他们能够操纵支付请求。

通过示例请求和屏幕截图,我演示了如何将付款金额设置为 1 美元,充值金额设置为 100 美元,成功为帐户充值,而无需从信用卡中扣除相应款项。

他们对该漏洞进行了高达 50,000 美元的测试,但没有被发现。讨论了该漏洞的潜在影响和风险,包括财务损失、欺诈活动和声誉损害。已提供修复该漏洞的建议。

请记住在进行安全评估和披露漏洞时负责任地使用这些知识并遵守法律和道德准则。