Web安全之XSSPlatform搭建及使用實踐
一、背景
XSS Platform 是一個非常經典的XSS滲透測試管理系統,原作者在2011年所開發,由於後來長時間沒有人維護,導致目前在PHP7環境下無法執行。
筆者最近花了一點時間將原始碼移植到了PHP7環境中,同時增加安裝功能;另外還修復之前的程式碼的一些不嚴謹語法的問題,並調整了一些表單的樣式,同時將原始碼放到GitHub當中,給有需要的同行研究,為了簡化安裝步驟,特意寫一篇文章來幫助大家。
二、操作概要
- 原始碼下載
- 安裝配置
- 攻擊測試
三、下載原始碼
github地址:https://github.com/78778443/xssplatform
首先通過cd命令將程式碼放到指定位置,參考命令如下
cd /Users/song/mycode/safe/
之後通過git下載原始碼,參考命令如下:
git clone https://github.com/78778443/xssplatform.git
四、安裝配置
4.1 增加虛擬主機
XSS Platform 需要在根目錄中執行,因此需要單獨新增一個虛擬主機,筆者以nginx環境為例,配置虛擬主機的配置程式碼如下所示:
server {
listen 80;
server_name xss.localhost;
root /Users/song/mycode/safe/xssplatform/;
rewrite "^/([0-9a-zA-Z]{6})$" /index.php?do=code&urlKey=$1 last;
rewrite "^/do/auth/(w+?)(/domain/([w.]+?))?$" /index.php?do=do&auth=$1&domain=$3 last;
rewrite "^/register/(.*?)$" /index.php?do=register&key=$1 last;
rewrite "^/register-validate/(.*?)$" /index.php?do=register&act=validate&key=$1 last;
location / {
index index.html index.htm index.php;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
修改配置檔案後,需要重啟nginx讓其配置生效,重啟命令參考如下:
nginx -s reload
4.2 新增HOST記錄
hosts檔案位置是/etc/hosts
,通過vim命令進行編輯,參考命令如下所示:
vim /etc/hosts
在檔案中新增一行記錄,內容如下所示:
127.0.0.1 xss.localhost
4.3 系統安裝
通過前面新增虛擬主機和新增host解析之後,便可以通過瀏覽器訪問此平臺,URL地址為http://xss.localhost/
,開啟後會自動跳轉到安裝介面,如下圖所示
點選 我同意此協議
按鈕之後,將跳轉到第二步的填寫配置資訊介面,在此介面需要填寫資料庫資訊,和管理員賬號資訊,如下圖所示
如果資料庫資訊填寫無誤,將會看到匯入資料成功的提,如下圖所示
此時便代表安裝成功
4.4 功能簡介
先來熟悉一些XSS Platform的一些功能,在安裝完成介面點選進入首頁,會要求先登入,在登入介面輸入剛才安裝時所填寫的管理員賬號資訊,點選登入即可,登入成功之後會自動跳轉到首頁,如下圖所示
在首頁中可以看到有一個預設專案,點選default
後可以看到受害者列表,不過剛剛安裝肯定是還沒有資料的,如下圖所示
在圖中右上方有一個檢視程式碼的連結,點選進去便可以檢視XSS Platform預備好的攻擊程式碼,如下圖所示
五、攻擊測試
現在筆者將正是開始進行一些實踐演示,首先會找出一個permeate滲透測試系統的XSS漏洞,將XSS Platform的攻擊程式碼插入進去;
然後模擬受害者訪問到被攻擊的頁面,會到XSS platform系統中檢視收到的cookie值,最後使用接收到的cookie來冒充受害者。
permeate 滲透測試系統原始碼和搭建教程地址可以參考:https://github.com/78778443/permeate
5.1 插入XSS程式碼
筆者此前已經將permeate滲透測試系統搭建成功,下面將在此係統發表一個帖子,並在帖子標題中插入XSS Platform
中預備好的攻擊程式碼,如下圖所示
點選發表按鈕,便將帖子釋出成功,此時假定自己為受害者,訪問了此帖子列表,在列表中會讀取帖子的標題,帖子<script>
標籤別瀏覽器執行便不會顯示出來,如下圖所示
5.2 接收cookie
可以看到並沒有顯示出來,再回到XSS Platform當中,檢視default
專案中的受害者列表,可以看到一個受害者,如下圖所示
說明受害者已經成功中招,並且通過攻擊程式碼已經獲取到對方的cookie值和header資訊
5.3 替換cookie
有了cookie值之後,筆者將使用另外一個瀏覽器,通過修改cookie的方式來登入受害者的賬戶,如下圖修改cookie的操作
再次重新整理時,已經變成了登入身份,如下圖所示
六、圖書推薦
如果對筆者的文章較為感興趣,可以關注筆者新書《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面如下圖所示
作者:湯青松
日期:2018-12-08
微信:songboy8888
相關文章
- Web安全之XSS Platform搭建及使用實踐WebPlatform
- web開發安全之請求及返回流資料加解密實踐Web解密
- web安全實踐系列導航Web
- Web安全實踐(12)密碼探測Web密碼
- Swift 網路安全原理及實踐Swift
- Redis原理及實踐之GeoHashRedis
- Web客戶端安全性最佳實踐Web客戶端
- Web Service實踐之REST vs RPCWebRESTRPC
- web安全之XSS攻擊原理及防範Web
- 使用蜻蜓安全挖掘漏洞實踐(一)
- hadoop叢集搭建及程式設計實踐Hadoop程式設計
- Istio實踐(1)-環境搭建及應用部署
- Web前端優化最佳實踐及工具集錦Web前端優化
- javascript 同源策略及web安全JavaScriptWeb
- webpack與SPA實踐之開發環境搭建Web開發環境
- XML安全之Web ServicesXMLWeb
- Web 安全之 XSSWeb
- Shiro的原理及Web搭建Web
- Web 滲透測試入門:環境搭建、流程與實踐Web
- Web安全實戰Web
- 使用haproxy搭建web群集Web
- OpenGL 之 幀緩衝 使用實踐
- dart系列之:集合使用最佳實踐Dart
- 理解JWT(JSON Web Token)認證及python實踐JWTJSONWebPython
- Django websocket之web端實時檢視日誌實踐案例DjangoWeb
- harbor 搭建及使用
- Web 使用者體驗設計提升實踐Web
- web實時長圖實踐Web
- Web 安全之混合內容Web
- Web安全漏洞之CSRFWeb
- PostgreSQL之SQL函式介紹及實踐(一)SQL函式
- HDFS系列之DataNode磁碟管理解析及實踐!
- Web前端安全之安全編碼原則Web前端
- Web 安全之內容安全策略 (CSP)Web
- MongoDB最佳安全實踐MongoDB
- Dockerfile 安全最佳實踐Docker
- Solaris使用與管理之實踐(Day 1)
- Docker實踐5:搭建redmineDocker