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

1、背景

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

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

2、操做概要

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

3、下載工具

3.1 安裝JDK環境

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

3.2 下載工具

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

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

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

3.3 工具運行

在上圖中能夠看到有一個jar文件,此文件便爲Java語言所開發,所以只要安裝了JAVA環境便可運行,不論是windows仍是mac均可以運行此程序,雙擊BurpUnlimited.jar打開此程序,打開以後會有一個提示,以下圖所示瀏覽器

image

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

image

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

image

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

4、設置代理

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

如今筆者須要給工具提供一些基本信息,好比域名和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)當中已經安裝好了對應的滲透測試系統,所以再也不重複說明,

5、漏洞掃描

在前面的準備操做以後,如今便進入了核心操做環節,用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即可以看到掃描的進度以及掃描的結果大體狀態

6、漏洞驗證

工具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

7、新書推薦

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

image

做者:湯青松

微信:songboy8888

日期:2018-10-09

相關文章
相關標籤/搜索