漏洞概述
在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
。之后进入小皮的网站模块,点击创建网站,域名改为重命名之后的名字(没改的话就将域名设为你根目录下的名字)。
这样网站就搭好了,之后点击管理—>打开网站,现在配置MySQL。数据库名设为cmseasy
,之后的mysql用户名和密码就是自己的用户名和密码(如果忘了可以看小皮的数据库模块,里面有记录)。点击测试链接会显示连接成功。
再来注册一个管理员账户,这边随便设置就行了,为的是我们后续利用漏洞来白嫖需要有一个账号。这边我就把用户名和密码都设成了admin
。之后开始安装就可以了。
Burpsuite抓包
开始白嫖
网站搭建完成之后,进入网站首页。点击右上角登录,账号密码就是刚刚注册的,之后点击会员中心查看,可以看到我们现在全部家当只有100元。
怎么白嫖呢?我们点击精选产品模块,随便选一个商品,比如我选了MackBook(这也太盗版了亿点),数量随便选,点击购买抓包。
将抓到的包的thisnum
数据改为负数(比如我这边改成了-5,原来是3就是我选择的购买数量),之后forward放包,关闭抓包。
会发现页面自动跳转到支付页面,然后它的价格变成了负数!资本家的羊毛你也敢薅!
之后填写联系方式,选择余额支付,点击购买,提示购买成功。
最后进入个人中心再次查看,会发现我们的订单完成,而且账户余额也正确显示了。这波啊,不仅是白嫖,是薅了资本家的羊毛,他还笑嘻嘻地说薅得好!
漏洞修复建议
1、升级到7.6.3.2以上版本
2、订单多重验证
3、数额巨大时采用人工验证