通過Web安全工具Burp suite找出網站中的XSS漏洞實戰(二)

一、背景

筆者6月份在慕課網錄製視頻教程XSS跨站漏洞 加強Web安全,裏面需要講到很多實戰案例,在漏洞挖掘案例中分爲了手工挖掘、工具挖掘、代碼審計三部分內容,手工挖掘篇參考地址爲快速找出網站中可能存在的XSS漏洞實踐(一)https://segmentfault.com/a/1190000016095198

本文主要記錄利用Web安全工具Burp suite進行XSS漏洞挖掘部分,分爲了設置代理,漏洞掃描,漏洞驗證三個部分,其中permeate滲透測試系統的搭建可以參考第一篇文章。

二、操作概要

  1. 下載工具
  2. 設置代理
  3. 漏洞掃描
  4. 漏洞驗證

三、下載工具

3.1 安裝JDK環境

在本文中是使用的工具burp suite需要JAVA環境才能運行,所以需要事先安裝好JAVA環境,JAVA環境安裝方法本文中再贅述,讀者可以自行搜索JAVA JDK環境安裝

3.2 下載工具

burp suite的官網地址爲:https://portswigger.net/burp/,打開官網後可以看到burp分爲三個版本,分別是企業版、專業版、社區版本,在本文中筆者所使用的是專業版,參考下載地址如下:

鏈接: https://pan.baidu.com/s/1H1ScgZTjPosZsdgjJDM4PA 提取碼: s747

下載並解壓剛纔所下載的zip文件,便能看到文件夾中有一些文件和文件夾,如下圖所示
image

3.3 工具運行

在上圖中可以看到有一個jar文件,此文件便爲Java語言所開發,因此只要安裝了JAVA環境即可運行,不管是windows還是mac都可以運行此程序,雙擊BurpUnlimited.jar打開此程序,打開之後會有一個提示,如下圖所示

image

在提示框中告知該程序爲破解版本,僅用來學習,如果可以請購買正版,這裏點擊確定按鈕,會再次看到一個確認界面,任然點擊Next按鈕,如下圖所示

image

最後便能看到程序的界面,如下圖所示

image

當打開程序看到上圖界面時便是已經運行程序成功,下面便將進入burp suite的使用教程。

四、設置代理

現在筆者的工具已經運行成功,接着便開始使用brup suite開始挖掘出XSS漏洞,使用工具挖掘有三個步驟,第一步便是將一些基礎信息給burp suite,第二步則讓burp suite自行掃描出更多信息,第三步便是開始正是挖掘.

現在筆者需要給工具提供一些基本信息,比如域名和URI地址以及cookie信息和其他各方面的數據;提供的方式有兩種,第一種是自己手動去填寫各項信息,第二種則是直接抓獲瀏覽器的數據包給burp suite,而手動提供相比較爲麻煩,因此筆者這裏通過抓瀏覽器的數據包的方式,讓工具自己去獲得所需的數據;

抓包主要有三個步驟,首先需要讓burp suite開啓代理服務,然後設置瀏覽器的代理地址,最後瀏覽器訪問網址burpsuite便可以看到數據包,具體操作流程如下

4.1 打開代理

burp suite開啓代理服務比較簡單,筆者將上方選項卡切換到proxy->Options這個位置,可以看到其實工具已經默認其實已經開啓代理服務127.0.0.1地址,如下圖所示

image

在上圖中可以看到了127.0.0.1:8080這個地址,此時已經開啓代理服務,因此不需要再做任何設置。

4.2 瀏覽器設置

現在代理服務已經打開,接着便是讓瀏覽器的數據經過代理服務,筆者所使用的是谷歌瀏覽器,並安裝了代理插件,這裏將以插件設置代理的方式爲例,如下圖所示

image

從上圖當中可以看到筆者所設置的協議爲http代理,地址爲127.0.0.1,端口信息爲8080

4.3 抓包驗證

接下來便是要進行代理的驗證,最簡單的驗證方式便是通過瀏覽器打開網站,然後查看burp suite能否抓到數據包,筆者在第一篇文章快速找出網站中可能存在的XSS漏洞實踐(一)(https://segmentfault.com/a/1190000016095198)當中已經安裝好了對應的滲透測試系統,因此不再重複說明,

五、漏洞掃描

在前面的準備操作之後,現在便進入了核心操作環節,用burp suite進行抓包、爬蟲、掃描等操作,分別對應的作用是通過抓包獲取基本信息、通過爬蟲獲取即將被掃描的網站更多信息、通過掃描對獲取到的信息進行暴力測試。

5.1 數據抓包

筆者現在以permeate滲透測試系統的XSS漏洞挖掘爲例,首先通過瀏覽器permeate滲透測試系統,URL地址如下:

http://permeate.songboy.net/

按下回車鍵之後,瀏覽器此時應該是處於等待狀態,此時回到工具burp suite當中,可以看到已經抓到了數據包,如下圖所示

image

點擊工具中的Forward按鈕,便可以將此放開,此時瀏覽器所展現的界面如下圖所示,說明頁面已經被打開

image

5.2 爬去鏈接

再次刷新瀏覽器,依然可以抓取到數據包,這次筆者需要通過burp suite去抓取permeate滲透測試系統中的URL地址,這個過程筆者稱之爲爬蟲,操作方式如下圖所示

image

在數據包的位置,右鍵單擊點擊,出現選項,點擊send to spider之後,便可以在spier選項卡中可以看到如下圖所示

image

在上圖中可以看到burp suite已經找到了permeate中的46個鏈接地址,接着筆者切換到target選項卡當中,如下圖所示

image

target選項卡下,可以看到爬去到的所有鏈接地址

5.3 挖掘漏洞

在收集到了permeate滲透測試系統中的大部分URL的地址之後,就可以使用burp suite進行滲透測試工作,在滲透測試中會針對每一個地址進行常規漏洞的測試,包含了SQL注入、XSS跨站、命令執行、CSRF、明文表單、文件包含等方面的漏洞

本文中筆者以XSS漏洞爲例,在target選項卡下,選中對應的域名地址,鼠標單擊右鍵,便可以看到Actively scan this host這一選項,如下圖所示

image

點擊之後該選項之後,便進入下一交互框當中,此時可以去除一些沒有參數的URL地址,筆者這裏勾選後將會去除沒有參數的URL地址,以及後綴爲js、gif、jpg、png、css的地址,如下圖所示

image

點擊下一步之後,便可以看到篩選後的URL地址,如下圖所示

image

再次點擊下一步之後,便開始進行了滲透測試,此時點擊選項卡scanner便可以看到掃描的進度以及掃描的結果大致狀態

六、漏洞驗證

工具burp suite在掃描出漏洞之後會給出提示,但提示並不是完全準確,因此還需要人爲的驗證

6.1 查看進度

滲透測試所花費的時間是是由URL數量和網速所決定的,通常需要一定的時間,筆者可以在選項卡Scanner中的子選項卡Scan issue中可以看到滲透測試的進度以及掃描的大致情況,比如有些項當中呈現出紅色,則代表掃描到高危漏洞,如下圖所示

image

6.2 掃描結果

當掃描完成之後,可以在Scanner下的子選項卡Issue activity中看到完整的結果,結果中的紅色表示高危漏洞,橙色表示低危漏洞,灰色則表示提示性安全爲題,筆者選中其中一個紅色選項卡,類型爲Cross-site scripting,這個便是XSS漏洞,在下方可以看到的具體payload,如下圖所示

image

在payload當中,點擊右鍵單擊便可以複製其URL地址,可將其URL地址用於漏洞驗證使用,如下圖所示
image

6.3 漏洞驗證

現在筆者通過瀏覽器人工的驗證一下此payload是否真正存在,剛纔筆者已經將帶有payload的地址複製了下來,URL地址如下

http://permeate.songboy.net/home/index.php?m=tiezie2eir%3cscript%3ealert(1)%3c%2fscript%3eftspc&a=index&bk=10

驗證的時候注意一定不要使用谷歌內核的瀏覽器,因爲谷歌內核瀏覽器自帶XSS篩選器,會到導致網站及時存在反射型的XSS也無法復現

因此筆者使用火狐瀏覽器進行漏洞驗證,如下圖所示

image

七、新書推薦

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

image

作者:湯青松

微信:songboy8888

日期:2018-10-09

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