使用docker快速搭建xssPlatform測試平臺實踐

一、背景

筆者之前給一些開發團隊多次做Web安全開發培訓,爲了讓培訓的學員能夠理解XSS原理和XSS的危害,將xssPlatform進行了更新,之前一直放在GitHub中;發現關注的人越來越多,很多人在安裝的過程中遇到問題不知道怎麼處理,爲了簡化安裝步驟,筆者將xssPlatform封裝到了docker鏡像當中,同時編寫了一套安裝文檔,希望到時候給學員和讀者參考。

二、操作實踐

  1. 數據庫搭建
  2. xssPlatform搭建
  3. 安裝配置

三、數據庫搭建

xssPlatform滲透測試系統使用的數據庫是MySQL,因此筆者需要先安裝mysql數據庫服務,爲了簡化安裝,便直接使用了docker方式進行,參考命令如下

docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306  mysql:5.6

啓動之後,可以使用宿主機的MySQL管理軟件連接測試,如下圖所示

image

四、xssPlatform搭建

在安裝完MySQL服務之後,便可以安裝xssPlatform系統了,筆者已經將所需PHP和nginx環境封裝好了,因此只需下載鏡像運行即可

4.1 運行容器

在運行容器時候需要考慮兩個問題,首先需要將web端口映射出來宿主機纔可以訪問,第二個是需要考慮此容器要能訪問得到mysql服務,因此參考命令如下:

docker run --name xssPlatform_test --link mysqlserver:db  -d -i  -p 8888:80   daxia/websafe:latest

4.2 啓動服務

使用vim編輯器編輯hosts文件,在裏面增加一條host記錄,Linux或Mac執行命令如下

vim /etc/hosts

因爲這個docker鏡像裏面還封裝了permeate,默認訪問的是permeate系統,所以一定要加上此記錄才能訪問到xssPlatform,參考內容如下

127.0.0.1       xss.localhost

在啓動容器之後,通過瀏覽器訪問http://xss.localhost:8888/不能打開,原因是因爲容器裏的nginx服務和PHP服務都還未啓動,啓動的命令參考如下所示:

docker exec xssPlatform_test zsh -c "php /root/start.php"

此時再通過瀏覽器訪問http://xss.localhost:8888/,便可以打開安裝協議頁面,如下圖所示

4.3 系統安裝

安裝過程比較簡單,但在填寫數據庫地址的時候需要注意,我們已經將mysqlserver鏈接到了xssPlatform容器當中,此時數據庫地址直接填寫db即可,數據庫密碼筆者在啓動MySQL容器時設置的爲123,這裏也填寫123,參考如下圖所示

通過前面添加虛擬主機和添加host解析之後,便可以通過瀏覽器訪問此平臺,URL地址爲http://xss.localhost:8888/,打開後會自動跳轉到安裝界面,如下圖所示

image

點擊 我同意此協議按鈕之後,將跳轉到第二步的填寫配置信息界面,在此界面需要填寫數據庫信息,和管理員賬號信息,如下圖所示

image

如果數據庫信息填寫無誤,將會看到導入數據成功的提,如下圖所示

image

此時便代表安裝成功

4.4 功能簡介

先來熟悉一些XSS Platform的一些功能,在安裝完成界面點擊進入首頁,會要求先登錄,在登錄界面輸入剛纔安裝時所填寫的管理員賬號信息,點擊登錄即可,登錄成功之後會自動跳轉到首頁,如下圖所示

image

在首頁中可以看到有一個默認項目,點擊default後可以看到受害者列表,不過剛剛安裝肯定是還沒有數據的,如下圖所示

image

在圖中右上方有一個查看代碼的鏈接,點擊進去便可以查看XSS Platform預備好的攻擊代碼,如下圖所示

image

五、攻擊測試

現在筆者將正是開始進行一些實踐演示,首先會找出一個permeate滲透測試系統的XSS漏洞,將XSS Platform的攻擊代碼插入進去;

然後模擬受害者訪問到被攻擊的頁面,會到XSS platform系統中查看收到的cookie值,最後使用接收到的cookie來冒充受害者。

permeate 滲透測試系統源碼和搭建教程地址可以參考:https://github.com/78778443/permeate

5.1 插入XSS代碼

筆者此前已經將permeate滲透測試系統搭建成功,下面將在此係統發表一個帖子,並在帖子標題中插入XSS Platform中預備好的攻擊代碼,如下圖所示

image

點擊發表按鈕,便將帖子發佈成功,此時假定自己爲受害者,訪問了此帖子列表,在列表中會讀取帖子的標題,帖子<script>標籤別瀏覽器執行便不會顯示出來,如下圖所示

image

5.2 接收cookie

可以看到並沒有顯示出來,再回到XSS Platform當中,查看default項目中的受害者列表,可以看到一個受害者,如下圖所示

image

說明受害者已經成功中招,並且通過攻擊代碼已經獲取到對方的cookie值和header信息

5.3 替換cookie

有了cookie值之後,筆者將使用另外一個瀏覽器,通過修改cookie的方式來登錄受害者的賬戶,如下圖修改cookie的操作
image

再次刷新時,已經變成了登錄身份,如下圖所示
image

六、圖書推薦

如果對筆者的文章較爲感興趣,可以關注筆者圖書《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面如下圖所示

image


作者:湯青松

日期:2020-03-03

微信:songboy8888

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