漏洞概述

在CmsEasy7.6.3.2版本中,存在订单金额任意修改逻辑漏洞,攻击者利用业务逻辑层的应用安全问题,在提交订单时抓取数据包并修改,以及对订单的数量进行任意修改(打到资本家!)。此漏洞可能造成企业的资产损失和名誉受损,传统的安全防御设备和措施收效甚微,危害还是比较大的捏。

漏洞复现

通过phpstudy(以下简称为小皮)搭建网站后用burpsuite抓包修改数据从而复现漏洞

phpstudy搭建网站

源码

这是网站源码的压缩包:https://ftp.cmseasy.cn/CmsEasy7.x/CmsEasy_7.6.3.2_UTF-8_20200422.zip

我们下载之后就可以开始搭建了

搭建

首先将下载的压缩包解压到小皮的网站根目录下,以我的为例,即D:\phpstudy_pro\WWW。可以把解压之后的文件夹重命名,这样好记且有便于后续的操作,我把它改成了cmseasy。之后进入小皮的网站模块,点击创建网站,域名改为重命名之后的名字(没改的话就将域名设为你根目录下的名字)。

image-20220422124346593

这样网站就搭好了,之后点击管理—>打开网站,现在配置MySQL。数据库名设为cmseasy,之后的mysql用户名和密码就是自己的用户名和密码(如果忘了可以看小皮的数据库模块,里面有记录)。点击测试链接会显示连接成功。

image-20220422124849819

再来注册一个管理员账户,这边随便设置就行了,为的是我们后续利用漏洞来白嫖需要有一个账号。这边我就把用户名和密码都设成了admin。之后开始安装就可以了。

image-20220422125045469

Burpsuite抓包

开始白嫖

网站搭建完成之后,进入网站首页。点击右上角登录,账号密码就是刚刚注册的,之后点击会员中心查看,可以看到我们现在全部家当只有100元。

image-20220422125326754

怎么白嫖呢?我们点击精选产品模块,随便选一个商品,比如我选了MackBook(这也太盗版了亿点),数量随便选,点击购买抓包。

image-20220422125459961

将抓到的包的thisnum数据改为负数(比如我这边改成了-5,原来是3就是我选择的购买数量),之后forward放包,关闭抓包。

image-20220422125823435

会发现页面自动跳转到支付页面,然后它的价格变成了负数!资本家的羊毛你也敢薅!

image-20220422130031125

之后填写联系方式,选择余额支付,点击购买,提示购买成功。

image-20220422130130303

最后进入个人中心再次查看,会发现我们的订单完成,而且账户余额也正确显示了。这波啊,不仅是白嫖,是薅了资本家的羊毛,他还笑嘻嘻地说薅得好!

image-20220422130227885

漏洞修复建议

1、升级到7.6.3.2以上版本

2、订单多重验证

3、数额巨大时采用人工验证