筆者以前給一些開發團隊屢次作Web安全開發培訓,爲了讓培訓的學員可以理解XSS原理和XSS的危害,將xssPlatform進行了更新,以前一直放在GitHub中;發現關注的人愈來愈多,不少人在安裝的過程當中遇到問題不知道怎麼處理,爲了簡化安裝步驟,筆者將xssPlatform封裝到了docker鏡像當中,同時編寫了一套安裝文檔,但願到時候給學員和讀者參考。php
xssPlatform滲透測試系統使用的數據庫是MySQL,所以筆者須要先安裝mysql數據庫服務,爲了簡化安裝,便直接使用了docker方式進行,參考命令以下mysql
docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306 mysql:5.6
啓動以後,可使用宿主機的MySQL管理軟件鏈接測試,以下圖所示nginx
在安裝完MySQL服務以後,即可以安裝xssPlatform系統了,筆者已經將所需PHP和nginx環境封裝好了,所以只需下載鏡像運行便可git
在運行容器時候須要考慮兩個問題,首先須要將web端口映射出來宿主機才能夠訪問,第二個是須要考慮此容器要能訪問獲得mysql服務,所以參考命令以下:github
docker run --name xssPlatform_test --link mysqlserver:db -d -i -p 8888:80 daxia/websafe:latest
使用vim編輯器編輯hosts文件,在裏面增長一條host記錄,Linux或Mac執行命令以下web
vim /etc/hosts
由於這個docker鏡像裏面還封裝了permeate
,默認訪問的是permeate系統
,因此必定要加上此記錄才能訪問到xssPlatform
,參考內容以下sql
127.0.0.1 xss.localhost
在啓動容器以後,經過瀏覽器訪問http://xss.localhost:8888/
不能打開,緣由是由於容器裏的nginx
服務和PHP
服務都還未啓動,啓動的命令參考以下所示:docker
docker exec xssPlatform_test zsh -c "php /root/start.php"
此時再經過瀏覽器訪問http://xss.localhost:8888/
,即可以打開安裝協議頁面,以下圖所示數據庫
安裝過程比較簡單,但在填寫數據庫地址的時候須要注意,咱們已經將mysqlserver連接到了xssPlatform容器當中,此時數據庫地址直接填寫db
便可,數據庫密碼筆者在啓動MySQL容器時設置的爲123
,這裏也填寫123
,參考以下圖所示vim
經過前面添加虛擬主機和添加host解析以後,即可以經過瀏覽器訪問此平臺,URL地址爲http://xss.localhost:8888/
,打開後會自動跳轉到安裝界面,以下圖所示
點擊 我贊成此協議
按鈕以後,將跳轉到第二步的填寫配置信息界面,在此界面須要填寫數據庫信息,和管理員帳號信息,以下圖所示
若是數據庫信息填寫無誤,將會看到導入數據成功的提,以下圖所示
此時便表明安裝成功
先來熟悉一些XSS Platform的一些功能,在安裝完成界面點擊進入首頁,會要求先登陸,在登陸界面輸入剛纔安裝時所填寫的管理員帳號信息,點擊登陸便可,登陸成功以後會自動跳轉到首頁,以下圖所示
在首頁中能夠看到有一個默認項目,點擊default
後能夠看到受害者列表,不過剛剛安裝確定是尚未數據的,以下圖所示
在圖中右上方有一個查看代碼的連接,點擊進去即可以查看XSS Platform預備好的攻擊代碼,以下圖所示
如今筆者將正是開始進行一些實踐演示,首先會找出一個permeate滲透測試系統的XSS漏洞,將XSS Platform的攻擊代碼插入進去;
而後模擬受害者訪問到被攻擊的頁面,會到XSS platform系統中查看收到的cookie值,最後使用接收到的cookie來冒充受害者。
permeate 滲透測試系統源碼和搭建教程地址能夠參考:https://github.com/78778443/permeate
筆者此前已經將permeate滲透測試系統搭建成功,下面將在此係統發表一個帖子,並在帖子標題中插入XSS Platform
中預備好的攻擊代碼,以下圖所示
點擊發表按鈕,便將帖子發佈成功,此時假定本身爲受害者,訪問了此帖子列表,在列表中會讀取帖子的標題,帖子<script>
標籤別瀏覽器執行便不會顯示出來,以下圖所示
能夠看到並無顯示出來,再回到XSS Platform當中,查看default
項目中的受害者列表,能夠看到一個受害者,以下圖所示
說明受害者已經成功中招,而且經過攻擊代碼已經獲取到對方的cookie值和header信息
有了cookie值以後,筆者將使用另一個瀏覽器,經過修改cookie的方式來登陸受害者的帳戶,以下圖修改cookie的操做
再次刷新時,已經變成了登陸身份,以下圖所示
若是對筆者的文章較爲感興趣,能夠關注筆者圖書《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面以下圖所示
做者:湯青松
日期:2020-03-03
微信:songboy8888