DESTOON B2B网站管理系统前台getshell漏洞

来源:scanv2018.09.27

一 漏洞概述

1.1简介

DESTOON B2B网站管理系统是一套基于PHP+MySQL的开源B2B电子商务行业 门户网站解决方案,当前已发布会员、分站、

商城、供应、求购、行情、公司、展会、文章、 信息、品牉、团购、图库、专题、视频、下载、人才、知道等模型。

该软件被曝光出一个前台getshell导致任意代码执行的漏洞。 

1.2影响版本

  • Destoon 7.0 build0827及以前所有版本。

 

二 漏洞复现

2.1复现环境

  • Linux Ubuntu 16.04 
  • Destoon 7.0 build0328 
  • Apache2.4

2.2环境搭建

网上下载源码本地搭建

Apache环境需要先将项目中的.htaccess文件移除,否则漏洞无法复现。

Nginx等环境可直接复现该漏洞。

2.3复现过程及结果

首先注册一个普通会员,在会员中心上传头像处上传两个文件。

上传两个文件的数据包可通过上面的代码构造。

上传的第一个文件为图片文件,文件后缀名改为php。

上传的第二个文件内容为php木马,文件后缀名改为 png。

上传成功之后文件保存在 file/temp目录下,命名格式为avatar+userid.php。由于还有其他检测,会将上传的文件重命名为xx.jpg,

所以此处需要条件竞争来获取webshell。

如果.htaccess文件的存在,访问file目录下的php文件会返回404页面。

但是.htaccess是apache的配置文件,经测试在nginx、iis等环境下丌会生效,file目录下的php文件可以正常执行。

 

三 影响范围

通过 ZoomEye 网络空间探测引擎进行探测,以下为网络空间中装有destoon的数量约为2020台,其中中国安装数量最多,约有1321台。

 

 

四 修复建议

1.升级到Destoon 7.0 build092

2.源代码修改

通过对比Destoon 7.0 build0827和Destoon 7.0 build0921两个丌同版本,可看到官方对该漏洞的修补如下:

在moudle/member/avatar.inc.php处增加了对上传文件后缀名的检查,is_image函数内容如下:

在include/upload.class.php构造函数的循环中增加了一个break,只保存上传的第一个文件,同时对上传文件的后缀名进行二次检查。

3.技术业务咨询:

知道创宇技术业务咨询热线:400-060-9587(政府、国有企业)

                                                028-68360638(互联网企业)

 

四 相关链接

参考链接:

https://www.destoon.com/download/

 

 

 

 

 

 

 

 

热门文章

关注知道创宇云安全

获取安全动态