其他新闻

其他新闻

discuz免费建站l(8网站免费建站)

时间:2023-11-28 信途科技其他新闻

0x00

背景介绍

Discuz官方于2017年8月1号发布最新版X3.4版本,在最新版本中修复了多个安全问题。360CERT和360 0KEE Team遂对该事件进行跟进。

0x01 漏洞概述

360CERT和360 0KEE Team通过对比Discuz_X3.3_SC_UTF8与Discuz_X3.4_SC_UTF8版本,发现X3.3_SC_UTF8版本存在数个漏洞。本报告主要涉及两个漏洞:

1.authkey生成算法的安全性问题:

用户在初次安装软件时,系统会自动生成一个authkey写入全局配置文件和数据库,之后安装文件会被删除。该authkey用于对普通用户的cookie进行加密等密码学操作,但是由于生成算法过于简单,可以利用公开信息进行本地爆破。

2.后台任意代码执行问题:

管理员在后台对数据库连接密码进行修改时,由于没有对输入进行检查,导致任意代码执行。

0x02 漏洞攻击面影响

1.影响面

Discuz基本上是基于Cookie而非Session,所以一旦authkey被获取,将导致Cookie的加密失效,进而可以解密Cookie的auth字段获取用户的密码。系统中其他逻辑也大量使用了authkey和authcode算法,该漏洞可导致一系列安全问题:伪造ulastactivity可控制session持久时间;邮箱校验的hash参数被破解,导致任意邮箱注册等。

另外一旦拥有一个管理员账号,则可利用后台任意代码执行漏洞,在后台Getshell进而控制服务器。

经过360CERT与360 0KEE Team研判后确认,漏洞风险等级高,影响范围广。

2.影响版本

通过代码分析,确定涉及如下版本:

lDiscuz_X3.3_SC_GBK

lDiscuz_X3.3_SC_UTF8

lDiscuz_X3.3_TC_BIG5

lDiscuz_X3.3_TC_UTF8

lDiscuz_X3.2_SC_GBK

lDiscuz_X3.2_SC_UTF8

lDiscuz_X3.2_TC_BIG5

lDiscuz_X3.2_TC_UTF8

lDiscuz_X2.5_SC_GBK

lDiscuz_X2.5_SC_UTF8

lDiscuz_X2.5_TC_BIG5

lDiscuz_X2.5_TC_UTF8

3.修复版本

lDiscuz_X3.4_SC_GBK

lDiscuz_X3.4_SC_UTF8

lDiscuz_X3.4_TC_BIG5

lDiscuz_X3.4_TC_UTF8

0x03 漏洞详情

1.authkey生成算法的安全性漏洞

Discuz_X3.3_SC_UTF8\upload\install\index.php中

authkey的生成方法如下:

$authkey = substr(md5($_SERVER['SERVER_ADDR'].$_SERVER['HTTP_USER_AGENT'].$dbhost.$dbuser.$dbpw.$dbname.$username.$password.$pconnect.substr($timestamp, 0, 6)), 8, 6).random(10);

可以看出authkey主要由两部分组成:

MD5的一部分(前6位) + random生成的10位

跟入random函数

由于字符生成集合是固定的,且没有重复字符,那么函数中每一次生成hash都唯一对应了chars数组中的一个位置,而且是使用同一个seed生成的。

在之后的代码中使用了同样的random函数:

$_config['cookie']['cookiepre'] = random(4).'_';

Cookie的前四个字节是已知的,并且使用了同样的random函数,那么思路很明显:

通过已知的4位,算出random使用的种子,进而得到authkey后10位。那剩下的就需要搞定前6位,根据其生成算法,只好选择爆破的方式,由于数量太大,就一定要选择一个本地爆破的方式(即使用到authkey而且加密后的结果是已知的)。

在调用authcode函数很多的地方都可以进行校验,在这里使用找回密码链接中的id和sign参数:

sign生成的方法如下:

function dsign($str, $length = 16){

return substr(md5($str.getglobal('config/security/authkey')), 0, ($length ? max(8, $length) : 16));

}

爆破authkey 的流程:

1.通过cookie前缀爆破随机数的seed。使用php_mt_seed工具。

2.用seed生成random(10),得到所有可能的authkey后缀。

3.给自己的账号发送一封找回密码邮件,取出找回密码链接。

4.用生成的后缀爆破前6位,范围是0x000000-0xffffff,和找回密码url拼接后做MD5求出sign。

5.将求出的sign和找回密码链接中的sign对比,相等即停止,获取当前的authkey。

2.后台任意代码执行漏洞

对比X3.4与X3.3版本发现漏洞存在于:

upload\source\admincp\admincp_setting.php

在2535行左右,在后台对UCenter的密码进行更新的时候,没有对输入的密码进行检查,直接写入到配置文件,导致我们可以闭合前面的单引号从而达到getshell的目的,这里仅做了一个连接测试,如果连接成功则写入配置文件。

0x04 漏洞利用验证

1.authkey生成算法的安全性漏洞

使用一个普通用户登录:

获取cookie前4位:uie7

使用上述脚本整理成php_mt_seed的参数格式:

接着再用php_mt_seed生成seed:

这里php_mt_seed的参数是:

0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 610 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 56 56 0 61 44 44 0 61 40 40 0 61 33 33 0 61

在这里需要注意:

php_mt_seed多参数时是4个数为一组,含义如下图:

我们拿到的是第11-14次的随机数,要去估算第1-10次的,所以前面要空10组位置。

得到所有的种子后(约250-300),使用如下脚本处理得到所有可能的random(10):

然后重置密码,得到找回链接:

整理后执行爆破脚本:

最后破解出来为: 7e2000vULc0oQETA

对比数据库中数据,可以看出是一致的。

2.后台任意代码执行漏洞

在管理员输入UCenter的密码时,对于用户的输入没有过滤,导致了输入的数据直接写入文件中,利用步骤如下:

1.以管理员身份登录后台

2.设置一个可以远程访问的mysql,密码为:123');phpinfo();//

3.修改UCenter 数据库密码为上述密码

4.更新后即Getshell

配置文件中的内容也被修改:

0x05 修复建议

Discuz官方已经在2017年8月1日发布最新版,请用户检查自己使用的版本,并及时更新至最新版。

0x06 时间线

2017-08-01 Discuz官方安全更新

2017-08-07 360CERT和0KEE Team完成对新版本的首次分析

2017-08-22 360CERT和0KEE Team完成对后续分析并形成报告

0x07 参考文档

https://git.oschina.net/ComsenzDiscuz/DiscuzX/commit/8446bd9e897bb19672389cc4aed42716ccd0f537

https://git.oschina.net/ComsenzDiscuz/DiscuzX/commit/bb600b8dd67a118f15255d24e6e89bd94a9bca8a

http://xintu.openwall.com/php_mt_seed/

扫描二维码推送至手机访问。

版权声明:本文由信途科技转载于网络,如有侵权联系站长删除。

转载请注明出处https://www.xintukeji.cn/xintu/9398.html

相关文章

saas云建站(云saas是什么意思)

​​企业建站往往有两种模式:一种是开源建站,另一种是SaaS模式建站。​开源建站是通过购买源程序或者组建技术团队编写程序建站,优点是后台程序功能完全可定制化,缺点是成本高,初期建站成本至少需要上万,甚...

虚拟主机建站教程(虚拟主机建站步骤)

随着网站越来越普遍,很多朋友都开始做自己的网站,但是购买了个人虚拟主机以后却不知道怎么做,需要准备什么。其实虚拟主机建站非常简单,下面群英小编给大家讲讲个人虚拟主机如何建站?虚拟主机建站有哪些步骤?1...

「网站开发流程」网站开发流程有哪几个阶段

今天给各位分享网站开发流程的知识,其中也会对网站开发流程有哪几个阶段进行解释,如果能碰巧解决你现在面临的问题,别忘了关注和分享本站。本文导读目录: 1、网站建设的基本流程是什么? 2、网站建设的流...

网上购物网站建设,在越南怎么网购国内商品

在越南怎么网购国内商品越南常用的网上购物网站:通过以下网站购物:1.Lazada:主要用于购买海外商品,价格略微偏高。阿里是该网站的主要股东,所以可以看到很多熟悉的阿里风格。包括双11活动。能在这个平...

凡科极速建站(凡科建站官网)

2017年10月12-14日,第三届深圳国际互联网与电子商务博览会(以下简称CIE)在深圳会展中心盛大开幕,集聚专业顶尖人才,特邀电商大咖现场分享,展示2017年最新行业成果,打造顶级电商行业盛典。本...

「企业公众号」企业公众号运营

信途科技今天给各位分享企业公众号的知识,其中也会对企业公众号运营进行解释,如果能碰巧解决你现在面临的问题,别忘了关注和分享本站。本文导读目录: 1、企业微信公众号怎么认证 2、公众号有哪几种,企业...

现在,非常期待与您的又一次邂逅

我们努力让每一次邂逅总能超越期待

  • 效果付费
    效果付费

    先出效果再付费

  • 极速交付
    极速交付

    响应速度快,有效节省客户时间

  • 1对1服务
    1对1服务

    专属客服对接咨询

  • 持续更新
    持续更新

    不断升级维护,更好服务用户