昨天介紹了一些關於Scanner的基本項目與觀念,
今天就來直接針對我們的靶機進行掃描與查看結果。
我們先瀏覽我們要掃描的網站,
這邊我是針對DVWA進行手動的爬站,
還有記得把DVWA Security難度調成低。


接著爬得差不多覺得內容足夠了,
點選到Target -> Site map,
於左側針對我們想要掃描的網站或節點,
點選右鍵選擇active scan,
(提醒一下,這邊我已經有把靶機加入Scope,
並且也用Filter去限制只顯示Scope的內容。)


這邊會讓你選擇是否對要掃描的範圍進行調整,
第一項Remove duplicate items(same URL and parameters),
是勾選了會排除URL跟參數都一樣的重複項目,
URL跟參數的一樣的意思譬如下者:
https://hackercat.org/sameUrl?SameParam=123
https://hackercat.org/sameUrl?SameParam=5566
如果勾選的話,上面兩個就會有一個被排除不掃描。

接著的兩項一個是不要去掃已經掃過的,
這邊因為是第一次掃描而已,所以這邊是反灰沒辦法選。
另一個是排除不在Scope的項目,這邊也沒有。
下一個Remove items with no parameters,
就是排除掉沒有參數的就不掃描,
所以以下兩個URL,就只會掃描上面的,下面的會被排除。
https://hackercat.org/app?Param=123
https://hackercat.org/appication
接下來的兩項一個是排除回應是Media的,
另一個是排除特定副檔名(extension),
可以看到預設雖然沒有勾選,
但是裡面已經填入了js,gif,jpg,png,css,
因為這些是比較不容易存在漏洞的類型。

這邊首先說說我的建議勾選方法,
除了排除沒有參數的以外,可以都勾選。
不過還是得強調一件非常重要的事情!
要如何勾選,會隨許多因素而做調整,
並沒有最好的做法,隨時都可以調整,
重點還是在於知道每個項目的用途,
並非只是把要哪幾個地方勾起來,把操作背下來。


按下Next之後還不會馬上開始掃描,
這邊會列出每一個要掃描的項目,
可以在這邊檢查與驗證,做更細節的調整,
看看自己需要掃描的項目是否有遺漏或是重複過多。
確認無誤按下OK之後就真的開始主動掃描了。
接著就可以看到Scan queue部分會顯示掃描狀態。

點進去可以看到詳細的內容,
包含這個項目偵測到的弱點與風險等級,
原始的請求/回應與修改後的請求/回應,
測試的payload與偵測到回應中有問題的地方也會被highlight起來。



如果要針對單一個項目直接掃描,
也可以在任何一個Request,直接點右鍵選Do an active scan。
(不管是在Target/Proxy/Repeater….都可以)

Scanner最後一個介紹的是選項Option。
依序,最上面區塊為Attack Insertion Point,
這邊是調整注入點的一些設定,
可以選擇是否要測試不同位置的參數,
是否要測試HTTP Header,是否要更改參數位置。

這邊的設定其實介紹起來是有些尷尬的,
如果是一個完全新手的話,沒有WEB安全測試概念,
光看這個地方應該會沒有頭緒,
實際上也不好從這個地方做教學與說明。
那如果你已經為網站弱掃或是WEB測試有概念,
看到這些選項大概不用多說甚麼,也知道用途與差異。
所以就讓我默默的快速跳過這邊,
簡單的只提一個方向,
勾選的越多,測試的方式就會越多,找到風險機會更大,
不過測試的數量與內容越多,也就會花更多的時間。

第一個區塊的下方還有一個地方,
這邊是可以設定對那些參數不要進行Injection測試,
或者是完全不要對這些參數進行測試。

下一個區塊Active Scanning Engine,
跟介紹Spider時也有差不多的地方,
就是用來做請求速度的限制與一些網路穩定性相關的。

Active Scanning Optimization,
這項就有點需要重點說明一下了,
首先注意到Scan accuracy,
false negatives是漏判的意思,
也就是這個網站有這個弱點,但是沒有被掃描出來;
false positves是誤判的意思,
也就是掃出來了這個弱點,但是實際上網站沒有這個弱點。
還有一件非常非常非常重要的事情,絕對要知道,
就是不管任何網站弱點掃描工具,
都一定會有誤判跟漏判的可能性,
絕對不會有一個工具可以保證自己100%沒有誤判或是漏洞。
至於是為什麼,這邊就先不多做解釋了,
總之就是你必須相信、必須承認這個事實。
那這邊除了Normal這個選擇,
另外兩個選擇,理論上來說,
如果選Minimize false negatives,
會發現最多漏洞,但其中是誤判的機率也比較高;
如果選Minimize false positves,
掃出來的那些漏洞,真正是存在的機率會比較高。
然後Use intelligent attack selection,
這項測試主要是協助加快掃描速度。
千萬不要誤會以為這個intelligent是多聰明,
會聰明到幫你去做進階滲透測試或是打入系統提權的,
沒有這種事情,Burp還沒這麼強大。

最後是Scan Issues,
這邊也可以看到Burp Scanner的掃描原則,
會掃描那些類型弱點,
也可以在這邊去調整要掃描的規則,
是否只掃某些特定風險或是特定類型的弱點。
關於Burp的Scanner就介紹到這邊。
Scanner其實也就是網站弱掃功能,
其實目前商業或是開源的網站弱掃工具不少,
而每個都有各自的優缺點,不同的運作機制與掃描原則,
沒有所謂最好的弱掃工具就是了。
本系列的文章為作者參與第 12 屆 iT 邦幫忙鐵人賽的文章修改
原文連結 https://ithelp.ithome.com.tw/users/20114110/ironman/3806