返回介绍

11.1 业务流程绕过测试

发布于 2024-10-11 00:03:34 字数 1936 浏览 0 评论 0 收藏 0

11.1.1 测试原理和方法

该项测试主要针对业务流程的处理流程是否正常,确保攻击者无法通过技术手段绕过

某些重要流程步骤,检验办理业务过程中是否有控制机制来保证其遵循正常流程。例如业

务流程分为三步:第一步,注册并发送验证码;第二步,输入验证码;第三步,注册成

功。在第三步进行抓包分析,将邮箱或手机号替换为其他人的,如果成功注册,就跳过了

第一步和第二步,绕过了正常的业务流程。

11.1.2 测试过程

攻击者访问注册页面,注册测试账户,充值提交并抓取数据包,填写任意充值金额并

抓包,获取订单号,利用订单号构造充值链接并访问链接,查看是否充值成功,如果充值

成功说明存在业务流程绕过问题,如图 11-1 所示。

以某社交网站为例,经过测试发现订单生成后流程走至链接

http://www.xxx.com/index.php?controller=site&action=payok&out_trade_no=,只要提供对

应的充值订单号就可以绕过支付环节,未经支付直接充值成功。

图 11-1 业务流程绕过测试流程

步骤一:新注册一个账号进行测试,如图 11-2 所示。

图 11-2 注册账号

账号余额为 0,如图 11-3 所示。

图 11-3 账户余额

步骤二:对账号充值并用 Burp Suite 工具进行数据包截取,金额可随意填写,如图 11-4 所示。

图 11-4 充值并抓包

步骤三:截获支付订单数据包,放弃支付,获取生成的订单号,如图 11-5 所示。

图 11-5 获取支付订单号

步骤四:利用获取的订单号构造链接

http://www.xxx.com/index.php?

controller=site&action=payok&out_trade_no=充值订单号,直接访问这个链接即可成功充

值,如图 11-6 所示。

图 11-6 支付成功

充值后的余额如图 11-7 所示。

图 11-7 充值后的余额

11.1.3 修复建议

针对此类漏洞,建议对敏感信息如身份 ID、账号密码、订单号、金额等进行加密处

理,并在服务端对其进行二次比对。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文