[PHP代码审计]iWebShop开源商城系统V5.9.21010存在命令执行漏洞

94 篇文章 21 订阅
44 篇文章 12 订阅

@Y4tacker

写在前面

本漏洞是后台权限,配合sql注入导致的文件删除,之后导致可重装从而实现RCE,搞了一天还是很累的

iWebShop5.9存在命令执行漏洞

目录结构

在这里插入图片描述

漏洞演示及利用

该漏洞的利用比较巧妙,首先我们登录后台,点击添加商户功能

在这里插入图片描述

这里添加一个y4tacker/y4tacker,记得开通功能,这里先备用

接下来我们访问,用刚刚的商户账号登录即可

http://url/index.php?controller=systemseller&action=index

这里我们添加一个商品

在这里插入图片描述

接下来我们去管理员后台点击数据库备份功能

在这里插入图片描述

这里只需要选中三个表即可

iwebshop_goods和iwebshop_goods_photo以及iwebshop_goods_photo_relation,为了方便截图我删除了点页内元素,实际上这两个表在下方

在这里插入图片描述

接下来下载这个备份

在这里插入图片描述

修改里面内容,这个要保证对应关系

在这里插入图片描述

在数据库里面就是这样的映射对应关系,这一步千万不要错

在这里插入图片描述

接下来我们点击本地导入上传功能

在这里插入图片描述

我们来跟踪这个过程,在controllers/tools.php下面的174行localUpload函数

在这里插入图片描述

跟进parseSQL函数,由于首行sql文件是DROP TABLE IF EXISTSiwebshop_goods_photo;他进入default分支

在这里插入图片描述

//执行SQL
	function query($sql)
	{
		//创建数据库对象
		$dbObj = IDBFactory::getDB();
		$dbObj->query($sql);
	}

能看见这个文件导入执行sql功能,并没有对语句进行过滤,也因此导致了sql注入产生

做完上述准备工作以后,我们再回到商户中心,此时这个文件还存在

在这里插入图片描述

我们点击删除功能

在这里插入图片描述

再去文件目录看已经被删除了

在这里插入图片描述

跟踪这个过程在controllers/seller.php下面根据传入id

在这里插入图片描述

跟进del函数在classes/goods_class.php下481行左右,看图很清楚的一个调用链

在这里插入图片描述

接下来执行unlink功能成功删除任意文件

在这里插入图片描述

删除文件以后我们便可以访问install/index.php

在这里插入图片描述

接下来在install/include/function.php下的install_sql函数,可以看见下面有一个写入配置文件的功能,后缀是php懂得都懂

在这里插入图片描述

跟踪create_config

在这里插入图片描述

其中小细节不多说,自己看看,最后传参数,下面最好用root数据库,小细节

在这里插入图片描述

访问

http://flag.flag/config/config.php

在这里插入图片描述

查看写入的文件

在这里插入图片描述

分析完毕

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
iWebShop是一款电子商务网站搭建工具,为了保证其质量和功能的稳定性,需要进行测试。以下是一些可能的测试用例: 1. 用户注册功能:测试用户能否成功注册账号并登录系统,以及密码是否被正确加密存储。 2. 商品展示功能:测试商品是否按照正确的分类和排序方式展示,以及商品详情页的数据是否与数据库中的一致。 3. 购物车功能:测试用户能否将商品添加至购物车,以及购物车中的商品数量和价格是否正确。 4. 订单生成功能:测试用户在下单后,订单信息是否正确生成,并能否正确下单操作。 5. 支付功能:测试用户是否能够成功选择支付方式并完成支付操作,检查支付流程是否平稳。 6. 物流跟踪功能:测试订单在发货后,用户是否能够准确查看物流信息,以及是否能及时更新。 7. 退款功能:测试用户在申请退款后,系统能否正确处理并完成退款操作。 8. 优惠活动功能:测试用户是否能够成功参与优惠活动,并且优惠金额是否正确计算。 9. 评价功能:测试用户能否正确评价已购买的商品,并且评价信息是否正确显示在网站上。 10. 安全性测试:测试系统漏洞和安全性问题,预防潜在的攻击和数据泄露。 以上是一些可能的测试用例,旨在保证iWebShop的功能和质量,提高用户的体验和满意度。测试时需综合考虑不同场景和用户需求,以确保系统的正常运行和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值