TangGo|逻辑漏洞测试系列-支付逻辑漏洞
TangGo|逻辑漏洞测试系列-支付逻辑漏洞
糖果 无糖反网络犯罪研究中心 2024-02-28 18:29

****
**阅读须知**
**本文所述之信息,只作为网络安全人员对自己所负责的网站及服务器进行检测和维护等运维行为的参考。未经合法授权请勿使用本文中的工具、技术及资料,对任何计算机系统进行入侵活动。利用本文所提供的信息所造成的直接或间接后果,及其所引发的损失,均由使用者承担。本文所提供的工具及方法仅用于学习,禁止用于其他!**
01
**测试场景**
淘夕夕王老板找到您,说发现有黑客只花了1元就在他在线商城里买走了5000元的商品,他想知道怎么做到的,你能帮他找到原因吗?
02
**测试案例**
打开 TangGO 测试工具,找到 HTTP抓包测试工具:
打开 HTTP抓包测试工具,点击右上角
,启动内置浏览器,输入王老板给的在线商城网站:

为了搞清楚为什么可以使用1元就在他在线商城里买走了5000元的商品,这里使用 HTTP抓包测试工具对数据的流程进行逐步分析。
回到 HTTP抓包测试工具中,打开左上角拦截开关拦截数据
,回到内置浏览器中点击立即购买。
发现 HTTP抓包测试工具中已经抓取到此次请求数据包数据:

该数据为一个 POST 类型的请求数据包,最后的一行包含了此次请求的发送的数据,”
quantity=1&price=1688
“中文含义理解为“
数量=1&价格=1688
”,可以得出此次请求中,提交了一个数据,其中表明购买的数量为 1,物品的价格为 1688。
王老板说黑客只花了1元就买走了5000元的商品,这里如果把购买的物品的价格设置为 1 元钱,是不是就可以花 1 元钱购买到这个物品呢?测试如下:
回到 HTTP抓包测试工具中,把“price=1688”修改为“price=1”,点击放行
,发现返回了一个 HTML 的页面,但是有很多内容,不知道具体内容:

为了看到具体页面的内容,点击“页面浏览”:

根据页面显示的内容,可以发现已经成功修改了物品的价格:

关闭掉拦截请求
,去内置浏览器查看一下结果:

点击结算按钮,如果可以结算成功说明黑客就是使用该方式进行的购买:

至此成功找到了黑客是如何花费 1 元钱购买到5000元的商品。
03
**测试总结**
测试漏洞:
支付数据篡改是一种严重的安全漏洞,可能会导致资金损失或数据泄露。其主要原因通常是缺乏输入验证和数据完整性检查,以及不安全的数据传输和存储方式。
解决方案:
1. 输入验证:
对于所有用户输入的支付数据进行验证,确保数据格式和内容符合预期。验证应该包括数据类型、范围、长度和格式等方面。
2. 数据加密:
在存储支付数据时,对敏感信息进行加密,确保数据在存储和传输过程中的安全性。可以使用加密算法如AES对数据进行加密。
3. 数字签名:
对于重要的支付数据,使用数字签名来验证数据的完整性和真实性。数字签名可以确保数据未被篡改,并验证数据的发送者。
4. 安全审计和监控:
定期审计和监控支付系统,检测异常活动并及时采取措施。记录所有的支付操作和变更,并对记录进行审计和监控,以及实时监控支付系统的安全状况。
流程图:

注意:工具使用内容请以最新版本为主。
**下载和反馈**
**0****1**
**TangGo社区版本下载:**
·https://tanggo.nosugar.tech/
**0****2**
**反馈问题:**
·https://tanggo.nosugar.tech/#/feedback
·通过微信交流群反馈:关注【无糖反网络犯罪研究中心】公
众号,回复“TangGo”,加入交流群进行反馈。
