今天,我将写关于我的方法论,因为我弄清楚了一个 Business Logic Vulnerability。这些文章来自受控环境,用于解释我的方法,以帮助您学习如何自己测试应用程序。
目的
从商店购买皮夹克。
什么是业务逻辑漏洞?
业务逻辑漏洞是应用程序设计或实现中的一个缺陷,它允许攻击者操纵不同进程的预期流程。这些漏洞利用应用程序的逻辑进程,导致未经授权的操作或访问,通常绕过安全控制。
我的目标是在各种网络安全主题中为您提供价值,并成为您扩展专业知识或任何有抱负的网络安全专业人士进入该领域的最终目的地。
方法论
想要亲自尝试一下实验室并跟随?您可以在 PortSwigger 的网站上免费查看。
侦察
一旦我们打开应用程序,我们就可以看到我们面前有一个功能性的购物应用程序。
我们能够将商品添加到购物车、查看购物车和下订单。
我们还可以使用默认凭证访问帐户。在里面,我们可以看到我们有 100 美元的余额,并且能够更改帐户的电子邮件。
我们的目标商品是轻量级“l33t”皮夹克,它的价格似乎超出了我们的价格范围,价格为 1337.00 美元。
因此,看起来我们在这里的目标是欺骗应用程序,使其认为我们正在购买其他东西,但实际上我们购买的是夹克。
让我们浏览一下 SiteMap 是否有任何可疑之处:
它已经像圣诞树一样亮起来了!
但是,我们已经知道这是一个业务逻辑漏洞 — 这意味着我们不一定需要在这里使用我们的技术能力,而是我们的大脑来破译应用程序流的功能。
但是,就像我们总是做的那样,让我们在有趣的端点(例如购物车和商品)上启动主动扫描,只是因为它会发现我们在继续手动测试时遗漏的内容。
测试
为了充分了解应用程序,我们应该首先在我们的价格范围内购买一件商品,以便我们可以从头到尾看到工作流程。
添加到购物车后,让我们单击 Place Order 看看是否有任何有趣的事情发生。
在 UI 中没有立即突出的内容。
但无论如何,我们都不应该期待任何不寻常的事情。
让我们进入重要的部分 — 代理 HTTP 历史记录 并检查工作流程中的每个步骤。
一个请求立即让我印象深刻:
订单确认。
看起来当设置为 true 时,它会验证订单是否已确认购物车中的内容......
我有个主意!
开发
购买最后一件商品后,我们现在只有 72.11 美元的商店积分——远低于购买皮夹克所需的 1337 美元。
但是,我认为我们可以欺骗 store 的逻辑。
让我们将 Leather Jacket 添加回购物车。
我们可以再次下订单,但看到我们被拒绝了 — 没有足够的商店积分。
那么,如果我们使用之前的订单确认请求呢?
我们可以将其发送到 Repeater 并重播它。
如果一切顺利,这应该会确认我们购物车中的物品......
看起来应用程序没有充分验证 Place Order 工作流程。宾果,实验室 sovled!
我们学到了什么
Business Logic 漏洞不仅有趣,而且更容易寻找,因为这并不意味着您需要非常技术性。相反,您必须具有创造力并更深入地了解您面前的应用程序。狩猎时,请记住使用您拥有的,探索不同的角度,并尝试了解系统的工作原理。
其它课程
QT开发底层原理与安全逆向视频教程
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
-
windows恶意软件开发与对抗视频教程
-
windows网络安全防火墙与虚拟网卡(更新完成)
-
windows文件过滤(更新完成)
-
USB过滤(更新完成)
-
游戏安全(更新中)
-
ios逆向
-
windbg
-
还有很多免费教程(限学员)
-
更多详细内容添加作者微信
原文始发于微信公众号(安全狗的自我修养):业务逻辑漏洞-工作流验证不足
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论