什么?XSS还能执行系统命令?
slug
series-status
status
summary
date
series
type
password
icon
tags
category
引言
其实对于XSS漏洞我之前已经出过两篇文章了,可能也不算文章吧,主要是一些漏洞利用的技巧以及在浏览器中它可以被利用到什么程度。今天继续写这篇的原因呢,是昨天刷到了有关这个issue的讨论,不知道有没有同学看过。这个issue是Clash For Windows的一个issue,它主要讲的是在这个软件的配置文件中如果写入xss的payload,甚至可以直接执行系统命令的问题。这篇issue其实是一定程度上加深了我对于XSS这个漏洞的认识。所以后续我又去简单看了一下有没有类似的案例,发现还是有的,这里后文我也会提到。
Clash XSS RCE
效果

POC
解析
这里最关键就是看21和24行了,这里可以看到这个poc里直接调用了eval函数然后通过一个子进程调用了系统的计算器,最终形成了弹窗的结果。
这里的具体产生漏洞的原因在issue中也进行了解答:

因为在利用
electron.js
开发桌面端应用的时候没有启用沙盒。利用方式
既然知道了这个漏洞的使用方法,那么漏洞利用就比较简单了,在原issue中其实也有人提到了怎么利用这个漏洞了。


如上。
我们只需要把这个对应的payload填到我们的钓鱼机场的订阅的配置文件里,那么很简单就可以实现钓鱼。那么我们就会多出来很多的肉鸡hh。
这里还需要注意一下,网上还有很多将单节点转换为订阅链接的在线工具,这些工具在使用的过程中也要格外小心,如果对方将这种类似的payload添加到配置文件里,完全是可以实现无感控制你的电脑的。
这里只是以这个工具为例,但是不代表它有这个问题:

修复&预防方案
修复
升级你的Clash For Windows至0.19.10版本以上
预防方案
- 定期更新你的Clash软件
- 开启自动更新
- 不要使用陌生的订阅转换工具(若一定要使用,在将其导入到你的Clash之前一定要审查一下它的订阅内容)
- 不要购买小机场的服务(服务不一定稳定,还有可能是钓鱼)
Rocket.Chat XSS RCE
原作者视频
Payload
在Rocket.Chat中发送以下payload给靶标
而在自己的attack_server服务器上开启静态资源http服务,并放置attack.html恶意文件,内容如下
效果

修复方案
升级RocketChat至最新版
分析
这个XSS的RCE的原理和前边的Clash不太一样,其实一般我们常用的浏览器的沙盒机制已经可以预防这种xss的rce问题了,但是像这种自己在桌面端封装了浏览器的则有可能因为防护不当导致命令执行的问题。
总结
这里的两个xss命令执行的原理不太一样,但是均存在着rce的问题,因此如果在后边的面试的过程中有被问到其实也是一个装x的点hh。
不过第一个案例里讲到的大家如果看到了这篇文章建议大家紧急看一下自己软件的版本,尽快进行升级,毕竟大部分人的代理软件我感觉都是不常进行升级的。
Loading...