web安全測試---AppScan掃描工具

 

  安全測試應該是測試中很是重要的一部分,但他經常最容易被忽視掉。html

  儘管國內常常出現各類安全事件,但沒有真正的引發人們的注意。不論是開發仍是測試都不太關注產品的安全。固然,這也不能怪咱們苦B的「民工兄 弟」。由於公司的所給咱們的時間與精力只要求咱們對產品的功能的實現以及保證功能的正常運行。一方面出於僥倖心理。誰沒事會攻擊我?web

     關於安全測試方面的資料也不多,不少人所知道的就是一本書,一個工具。面試

  一本書值《web安全測試》,這應該是安全測試領域維數很少又被你們熟知的安全測試書,我曾看過前面幾個章節,唉,鄙視一下本身,作事總喜歡虎 頭蛇尾。寫得很是好,介紹了許多安全方面的工具和知識。我以爲就算你不去作專業的安全開發\測試人員。起碼能夠開闊你的視野,使你在作開發或測試時可以考 慮到產品安全方面的設計。防患於未然老是好的,若是你想成爲一個優秀的人。安全

  一個工具,其實本文也只是想介紹一下,這個工具----AappScan,IBM的這個web安全掃描工具被許多人熟知,相關資料也不少,由於 我也摸了摸它的皮毛,因此也來人說兩句,呵呵!提及sappScan,對它也很有些感情,由於,上一份工做的時候,我摸過於測試相關的許多工 具,AappScan是其它一個,當時就以爲這工具這麼強大,並且還這麼傻瓜!!^_^! 因而,後面在面試的簡歷上寫了這個工具,應聘如今的這家公司,幾輪面試下來都問到過這個工具,由於如今這家公司一直在使用這個工具作安全方面的掃描。我想 能來這家公司和我熟悉AappScan應該有一點點的關係吧!呵呵app

 

AappScan下載與安裝

 

IBM官方下載;http://download2.boulder.ibm.com ... 2-AppScan_Setup.exejsp

    本鏈接爲7.8 簡體中文版本的工具

破解補丁;http://www.vdisk.cn/down/index/4760606A4753web安全

     破解補丁中有相應的註冊機與破解步驟,生成註冊碼作一下替換就OK了,這裏不細說。測試

  AppScan實際上是一個產品家族,包括衆多的應用安全掃描產品,從開發階段的源代碼掃描的AppScan source edition,到針對WEB應用進行快速掃描的AppScan standard edition.以及進行安全管理和彙總整合的AppScan enterprise Edition等,咱們常常說的AppScan就是指的桌面版本的AppScan,即AppScan standard edition.其安裝在Windows操做系統上,能夠對網站等WEB應用進行自動化的應用安全掃描和測試。優化

 

使用AppScan來進行掃描

咱們按照PDCA的方法論來進行規劃和討論; 建議的AppScan使用步驟:PDCA: Plan,Do,check, Action and Analysis.

 

計劃階段:明確目的,進行策略性的選擇和任務分解。

1)  明確目的:選擇合適的掃描策略

2)  瞭解對象:首先進行探索,瞭解網站結構和規模

3)  肯定策略:進行對應的配置

a)   按照目錄進行掃描任務的分解

b)   按照掃描策略進行掃描任務的分解

 

執行階段:一邊掃描一遍觀察

4)  進行掃描

5)  先爬後掃(繼續僅測試)

 

檢查階段(Check)

6)  檢查和調整配置

 

結果分析(Analysis)

7)  對比結果

8)  彙總結果(整合和過濾)

 

AppScan的工做原理

  

  當咱們單擊「掃描」下面的小三角,能夠出現以下的三個選型「繼續徹底掃描」,「繼續僅探索」,「繼續僅測試「,有木有?什麼意思? 理解了這個地方,就理解了AppScan的工做原理,咱們慢慢展開:

尚未正式開始,因此先無論「繼續「,直接來討論’徹底掃描」,「僅探索」,「僅測試」三個名詞: 

  AppScan是對網站等WEB應用進行安全攻擊,經過真刀真槍的攻擊,來檢查網站是否存在安全漏洞;既然是攻擊,確定要有明確的攻擊對象吧, 好比北約如今的對象就是卡扎菲上校還有他的軍隊。對網站來講,一個網站存在的頁面,可能成千上萬。每一個頁面也均可能存在多個字段(參數),好比一個登錄界 面,至少要輸入用戶名和密碼吧,這就是一個頁面存在兩個字段,你提交了用戶名密碼等登錄信息,網站總要有地方接受而且檢查是否正確吧,這就可能存在一個新 的檢查頁面。這裏的每一個頁面的每一個參數均可能存在安全漏洞,全部都是被攻擊對象,都須要來檢查。

  這就存在一個問題,你領命來檢查一個網站的安全性,這個網站有多少個頁面,有多少個參數,頁面之間如何跳轉,你可能很不明確,如何知道這些信 息? 看起來很複雜,盤根錯節;那就更須要找到那個線索,提綱挈領; 那就想想,訪問一個網站的時候,咱們須要知道的最重要的信息是哪一個?網站主頁地址吧? 從網站地址開始,不少其餘頻道,其餘頁面均可以連接過去,對不對,那麼可不能夠有種技術,告訴了它網站的入口地址,而後它「順藤摸瓜」,找出其餘的網頁和 頁面參數? OK,這就是」爬蟲」 技術,具體說,是」網站爬蟲「,其利用了網頁的請求都是用http協議發送的,發送和返回的內容都是統一的語言 HTML,那麼對HTML語言進行分析,找到裏面的參數和連接,紀錄並繼續發送之,最終,找到了這個網站的衆多的頁面和目錄。這個能力AppScan就提 供了,這裏的術語叫「探索」,explorer,就是去發現,去分析,瞭解未知的,記錄。

  在使用AppScan的時候,要配置的第一個就是要檢查的網站的地址,配置了之後,AppScan就會利用「探索」技術去發現這個網站存在多少個目錄,多少個頁面,頁面中有哪些參數等,簡單說,瞭解了你的網站的結構。

  「探索」瞭解了,測試的目標和範圍就大體肯定了,而後呢,利用「軍火庫」,發送導彈,進行安全攻擊,這個過程就是「測試」;針對發現的每一個頁面 的每一個參數,進行安全檢查,檢查的彈藥就來自AppScan的掃描規則庫,其相似殺毒軟件的病毒庫,具體能夠檢查的安全攻擊類型都在裏面作好了,咱們去使 用便可。

  那麼什麼是「徹底測試呢」,徹底測試就是把上面的兩個步驟整合起來,「探索」+ 「測試」;在安全測試過程當中,能夠先只進行探索,不進行測試, 目的是瞭解被測的網站結構,評估範圍; 而後選擇「繼續僅測試」,只對前面探索過的頁面進行測試,不對新發現的頁面進行測試。「徹底測試」就是把兩個步驟結合在一塊兒,一邊探索,一邊測試。

上圖更容易理解:

步驟1:探索(爬行,爬網)

步驟2:真對找到的頁面進行測試,生成安全攻擊

 

AppScan掃描大型網站

  常常有客戶抱怨,說AppScan沒法掃描大型的網站,或者是掃描接近完成時候沒法保存,甚至保存後的結果文件下次沒法打開?;同時你們又都很奇怪,做爲一款業界出名的工具,如此的脆弱?是配置使用不當仍是本身不太瞭解呢?咱們今天就一塊兒來討論下AppScan掃描大型網站會遇到的問題以及應對。

  什麼叫大型網站,顧名思義,網站規模大,具體說是頁面不少,內容很全。好比www.sina.com.cn,好比http://music.10086.cn/, 都包括上萬個頁面。並且除了這個,可能還有一個特色---頁面參數多,即要填寫的地方多,和用戶的交互多;好比一個網站若是都是靜態頁面 (.html,.jpg等),沒有讓用戶輸入的地方,那麼能夠利用,能夠做爲攻擊點的地方也就很少。若是頁面處處都是有輸入,有查詢,要求用戶來參與的, 你輸入的越多,可能泄露的信息也越多,可能被別人利用的攻擊點也就越多,因此和頁面參數也是有關係的。AppScan聲稱測試用例的時候,也是根據每一個參 數來產生的,簡單說,若是一個參數,對應了200個安全攻擊測試用例,那麼一個登錄界面至少就對應400個了,爲何?登錄界面至少有用戶名和密碼兩個字 段吧? 每一個字段200個攻擊用例。

 

這個簡單吧,還能夠更復雜:若是遇到下面的兩個地址,那要掃描多少次呢?

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=1

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=2

上面的兩個地址有相似的,「?」號之前的URL地址徹底同樣,」?」號後面帶的參數不一樣,這種能夠認爲是重複頁面,那麼對於重複頁面,是否要重複測試呢?

這取決於「冗餘路徑設置」,默認的是最多測試5次;即,這種類型URL出現的前5次,那麼就是要測試1000個攻擊用例了。

 

若是再繼續修改下:遇到下面的URL呢

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=1&Item=open

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=2&Item=close

每一個URL裏面都有2個參數,測試的次數就更多了。想象下,若是這個網頁裏面的參數若是是10個,或者更多的呢?好比不少網站提交註冊信息的時候,要填寫的內容足夠多吧?

要進行的安全測試用例也就隨之不斷增長…

 

  這是網站規模的影響,還有一個問題,就出在「每一個參數,發送200個安全測試用例」這個假設上。這個假設的前提來源於哪裏? 來源於咱們選擇的掃描規則庫。即你關心那些安全威脅,這個須要在測試策略裏面選擇。一樣來參照殺毒軟件,你會用殺毒軟件來查找一些專用的病毒嗎,好比 CIH,好比木馬;應用安全掃描也是同樣的道理,若是有明確的安全指標或者安全規則範圍,那麼就選擇之。這些可能來源於企業的規範,來源於政府的法律法 規。就要根據你的理解,在這裏選擇。

  不少時候,咱們也很難在最開始的階段,就把掃描規範制定下來,按照項目經理們的口頭禪「漸進明細」,「滾動式規劃」,在實踐中,更多時候也是摸着石頭過河,選擇了一個掃描策略,而後根據結果分析,看是否須要調整,不斷優化。好比選擇默認的「缺省值’掃描策略,對網站進行掃描,發現其」敏感信息「裏面會去檢查頁面上是否含有Email地址,是否含有信用卡號碼等,若是咱們以爲這些信息,顯示在頁面上是正常的業務須要, 咱們就能夠取消掉這些規則,因此掃描規則也很大程度上影響着咱們的掃描效率。

=====================

   注:本文複製網上一篇文章內容過多,不會發表到博客園首頁,只在本博客顯示。

相關文章
相關標籤/搜索