前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DiscuzX3.4最新论坛漏洞修复解决方案

DiscuzX3.4最新论坛漏洞修复解决方案

原创
作者头像
技术分享达人
修改2019-04-26 18:04:00
1.7K0
修改2019-04-26 18:04:00
举报
文章被收录于专栏:网站漏洞修补

Discuz!论坛目前最新版本为3.4版本,已经好久没有更新了,我们SINE安全在对其网站安全检测的同时发现一处漏洞,该漏洞可导致论坛的后台文件可以任意的删除,导致网站瘫痪,后台无法登陆。关于该网站漏洞的细节我们来详细的分析看一下:

Discuz漏洞的检测与分析

该漏洞发生的位置在于source目录下的admincp文件夹里的admincp_forums.php代码里,我们用note编辑器打开查找到unlink函数调用的地方,就看到漏洞产生的原因了,直接搜索$_get{'replybgnew'],定位到代码。漏洞的使用有限制,必须是discuz管理员的权限,所以说漏洞危害较小,但也还是一处discuz的漏洞,如下图所示:

从上图我们看到代码首先会进行判断对于GET提交过来的参数会进行IF语句,从代码里获知当$multiset的值为真或者是为假的时候,就会将参数赋值为0,我们接着往下看另外一个的IF语句是如何使用的,当IF下来的时候会进行安全检测,将parse_url参数里的结果进行检测,来确定前端提交过来的网址是否正确,代码执行到最后一步我们看到attachurl的变量内容,竟然可以伪造恶意代码插入进去。

我们构造恶意代码首先搭建一下测试的Discuz论坛环境,服务器使用linux centos系统,PHP版本使用5.3版本,数据库mysql5.5,我们从官方下载一份3.4正式版的代码,安装到咱们的测试环境中。打开论坛,登陆后台,然后找到论坛的模块管理,我们点击最下端的提交,然后通过抓包获取数据,在提交的post数据中添加:

&replybgnew=../../../index.php&delreplybg=safe这个代码,然后再提交post,就会把网站的论坛首页删除掉,就会显示如下图:

关于这个Discuz!网站漏洞,前提是需要获取论坛管理员的权限,相对来说危害较小,但也不能忽视对网站安全的防护,时刻做好网站的安全备份,discuz要登陆后台经常看下是否有漏洞补丁需要修复,关于这个漏洞的修复,建议将discuz的后台地址admin.php改为admin!@#ht.php这样即使知道管理员的账号密码,也登陆不了后台。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Discuz!
Discuz! 是全球领先的论坛社区应用系统,自2001年6月面世以来,服务超过300多万网站用户案例。现在,借助 Discuz! ,您不仅可以使用搭建传统的社区论坛,更可轻易的构建面向移动互联网时代的私域流量和社交圈子类的应用,并快速启动业务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档