查看: 86|回覆: 4

[讨论] discuz漏洞修复方案与网站安全防护加固

[複製鏈接]

3

主題

2

回帖

0

積分

热心网友

金币
2
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-2-1
發表於 2019-7-18 15:58:50 | 顯示全部樓層 |閲讀模式
  近期我们SINE安全在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语

言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限

,linux服务器可以直接执行系统命令,危害性较大,关于该discuz漏洞的详情,我们来详细的

分析看下。



discuz漏洞影响范围:discuz x3.4 discuz x3.3 discuz x3.2,版本都受该网站漏洞的影响,漏洞

产生的原因是在source目录下function文件夹里function_core.php代码里的cookies与语言lang

uage参数值并没有详细的进行安全过滤与检测,导致可以插入恶意的代码到数据库,并远程执

行恶意代码,可获取webshell权限。


discuz漏洞分析

我们来看下刚才产生漏洞的代码,在第535行往下看,有一段代码是这样写的,默认网站系统

将缓存数据存储在data文件夹里的template目录中,缓存文件名的命名是由前面的discuz_lang

参数进行控制来命令的,漏洞产生的原因就在这里。那这个discuz_lang参数的值是从来获取来

的呢? 我们跟进分析网站代码,可以看到是从language语言这一变量里去获取的值,也就是说

,我们要利用这个网站漏洞,首先要去改变这个language的值,将恶意代码插入到这个值当中

去,POC代码如下:



post数据到论坛的forum.php页面,将post数据改为:Z3T2_2132_language=en'.phpinfo().';即

可执行php语句,
整个漏洞的分析,我们可以看出discuz官方并没有对post数据里的cookies值

进行安全过滤与判断,导致可以直接写入language里恶意代码并远程执行,可以构造一句话代

码,直接获取webshell。




网站漏洞修复与安全防护方案


对discuz的版本进行全面的升级,在language参数值中进行全面的安全过滤,限制逗号,以及闭

合语句的执行,还有\斜杠都一些特殊恶意代码进行拦截,必要的话对其进行转义,如果对代码

不是太熟悉的话,也可以找专业的网站安全公司来进行漏洞修复,国内也就SINE安全公司,绿

盟,启明星辰比较专业。再一个对discuz目录的权限进行安全分配,限制data目录的脚本执行权

限,防止PHP脚本的运行,最重要的就是做好网站的安全防护。


进行, discuz, 漏洞, 安全
回覆

使用道具 舉報

3

主題

2

回帖

0

積分

热心网友

金币
2
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-2-1
 樓主| 發表於 2019-7-18 15:59:23 | 顯示全部樓層
转载地址  https://www.sinesafe.com/article/20190716/discuzloudong.html#
回覆

使用道具 舉報

3

主題

2

回帖

0

積分

热心网友

金币
2
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-2-1
 樓主| 發表於 2019-7-18 15:59:39 | 顯示全部樓層
希望对大家有用
回覆

使用道具 舉報

15

主題

18

回帖

0

積分

热心网友

金币
18
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-6-11
發表於 2019-8-17 09:05:39 | 顯示全部樓層


Discuz!X.3.4 ML任意代码执行漏洞修复(discuz多国语言版)
https://www.dismall.com/thread-1930-1-1.html
回覆

使用道具 舉報

0

主題

20

回帖

0

積分

热心网友

金币
20
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-11-19
發表於 2019-8-17 09:32:50 | 顯示全部樓層
厲害了,我的哥
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部