nw.js打包客户端配合XSS命令执行

Author Avatar
ssssdl 8月 21, 2019

一次实际渗透测试中遇到的,感觉还挺有意思,就不放截图了。

关于

nw.js是一种桌面程序的解决方案,感觉可以想象成Android中的webview,但是利用了Qt之类的引擎使得浏览器中的js可以和系统的代码进行交互,

条件

有一个存储的XSS,利用nw.js(也不一定是nw.js,只要开发者自己写的可以解析XSS的这种的)就可以放大XSS的威力,实现客户端的命令执行

payload

1
弹计算器<script> var cp = require('child_process'); cp.exec("calc.exe", function(error, stdout, stderr) {});</script>

解释

child_process是nw.exe的一个内置模块,通过它可以实现创建多线程,并可实现主线程和子线程之间的通信。child_process模块中主要使用有两个方法spawn和exec,这两个方法都可以用来创建子线程。除了spawn和exec外,child_process模块还有execFile,fork,spawnSync,execFileSync,execSync,它们都是基于spawn的不同封装。

参考