nw.js打包客户端配合XSS命令执行
一次实际渗透测试中遇到的,感觉还挺有意思,就不放截图了。
关于
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的不同封装。
参考
感觉这种漏洞还是比较多的,比较有名的蚁剑,之前也因为XSS导致了命令执行,和这个原理类似