业务逻辑|白盒环境下某cms渗透测试
熊海cms
http://127.0.0.1/xionghaicms/admin/?r=login进入登陆界面。
代码审计
首先打开xionghaicms\index.php,注释写的很清楚,存在一个关联性比较大的”index.php”文件
(其次还应该想到,这里存在一个include函数,那么可能存在文件包含漏洞)
那么我们就尝试在浏览器访问这个文件
http://127.0.0.1/xionghaicms/admin/?r=index
发现未登录状态下,自动回退到上一个登录界面,即”login.php”
继续,由于是访问admin\files文件夹下的文件,那么我们来到这个文件夹。找到logic.php,xionghaicms\admin\files\logic.php。
发现引入了一个checklogic.php文件,打开康康。
有这么一段代码,意思是只要接收到的cookie不为空,就可以直接进入管理员后台;反之回退到login界面。
那么就是判断cookie的逻辑出了问题,可能是开发人员为了省事,把cookie的验证简化了,出现了业务逻辑越权漏洞。
注意,这个cookie是以”user”字段接受的,意思是属性为”user”,只要这个属性值不为空,就可以绕过登录直接进入后台
修改cookie,要以user字段接收,任意值都可,只要不为空。
成功进入后台。
但是仅仅是看到这个界面,点击里面的功能还是会跳到登陆界面。
但是,只要抓包,每点击一个页面再一次修改cookie(和上面一样),即可正常访问网站。
damicms
关于这个cms,测试到两个漏洞,一个是验证码复用漏洞,另一个是支付篡改漏洞。
验证码复用+爆破
参考:https://blog.csdn.net/YangGouGuo/article/details/131177565
借用此篇文章的思路,特意整了个disearch扫描目录。
发现admin.php可能是一个管理员界面,进入,果然。
这里我们可以尝试爆破获取管理员账号与密码,但是这里存在一个验证码,很难处理。借助迪总的演示,发现此处的验证码存在一个复用的问题。
不多说,直接操作。
抓包,账号密码随便输入,但是验证码要输入正确。
然后把这个数据包发送到intruder爆破模块,攻击模式选择 cluster bomb集束炸弹模式,clean/add双联操作,添加payload不赘述,具体见上述参考。
爆破即可,看到不一样长度的数据包点开查看,一般就可以了。
成功进入管理后台
支付篡改
1、修改商品数量达到”零元购”的目的。
进入到购买商品的界面,随便选一件进行购买,点击立即购买后抓包。
将此处的”1”改为”-1”后放包。
可以看到价格变成了-6000,也就相当于”零元购”。
2、修改商品价格达到”低价购”的目的。
买n件商品,点击提交订单,抓包后将数据包的price值改为6。
可以看到原本总价6w的商品,仅需60块钱,也就相当于”低价购”。
3、修改订单的商品id值以及商品的名称实现另一种”低价购”–就是以低价位购买高价位产品。
大米测试产品是相对于大米手机cms是高价位产品。
首先点击大米测试产品,提交订单并且抓包,获取其商品id值以及商品的名称的数据包信息,之后直接退出。
随后点击手机大米cms这个商品,提交订单并抓包,将对应的品id值以及商品的名称的数据包信息改成之前获取的。
可以看到,本来我是要以5.4k的价位购买大米手机cms的,但是这个支付界面直接变成了以5.4k的价位购买到了6k价位的大米测试产品。