在目前的 WEB 安全黑盒測試方法中,一般是按照黑客攻擊的手法進行測試,以達到準確性與全面性。那麼,如何保證黑盒測試的全面性與準確性呢?總結一下,可以有以下幾個方面:
1、對產品項目的熟悉程度。
測試之前,對項目進行了解跟蹤,熟悉項目的所有功能、接口以及與其他項目的關聯性(有時候A項目的功能會造成B項目存在安全風險)。
2、全面的技術知識。
由於每個項目的功能都不同,可能涉及到的應用就不同,有的項目是視頻應用,就要了解flash腳本編寫技術與前端配置知識,大多數 flash蠕蟲都是因爲前端配置問題造成的。有些項目用到了AJax,那麼測試人員就必須瞭解AJax的知識。有的項目用到 ActiveX 插件,那麼就要知道 ActiveX 可能造成的安全問題,等等。所以,安全測試人員要掌握全面技術知識,纔可以對每個項目進行測試,並不因爲新項目中包含新的技術而放棄測試。同時還要有不斷的學習能力,遇到未知的技術要進行快速學習,然後對項目進行測試。
3、超強的漏洞挖掘能力,以及實戰能力。
安全測試時,必須按照黑客攻擊的手法進行測試,所以,這就要求WEB安全測試人員擁有超強的漏洞挖掘能力與漏洞認知度。同樣還要擁有實戰經驗,一個沒有實踐經驗的測試人員,不是一個好的安全測試人員,當安全測試人員並不知道安全BUG所造成的的方式與利用後所造成的影響,就不能全部的發現所有安全BUG,同時又不能在各個安全BUG危險度上進行分級,這就造成一些安全BUG的疏漏。
4、黑盒測試標準
總結出一個黑盒測試標準文檔,對所有可能影響的安全漏洞進行羅列,並詳細描述黑盒測試的方法與步驟,在項目測試過程中對條目中的所有漏洞進行檢測,並嚴格按照規定的方法進行測試。
5、細心+用心
一個很小的功能,就可能造成很大的安全漏洞,如果未測試到就進行上線,就可能造成黑客攻擊,所有的用戶帳戶被盜取,或者應用癱瘓。
所謂工欲善其事,必先利其器,這裏列出了一些常用的黑盒測試工具:
1、掃描工具:
Web Vulnerability Scanner
Ratproxy
2、嗅探工具:
Wireshark
Fiddler2
WebScarab
burpsuite
SPIKEProxy
appsniff
httpwatch
Paros
3、測試工具:
Web2Fuzz
pangolin
sqlmap
Firefox+插件:
FileEncrypter HASH轉換
https://addons.mozilla.org/firefox/3208
nftools HASH轉換
http://www.net-force.nl/files/download/nftools/nftools.xpi
Greasemonkey 在網頁內實時插入腳本
https://addons.mozilla.org/firefox/748/
hackbar SQl注入輔助
https://addons.mozilla.org/firefox/3899/
Add n Edit Cookies 編輯COOKIES
https://addons.mozilla.org/firefox/573/
Poster 自定義構造POST的提交 包括文件上傳
https://addons.mozilla.org/fr/firefox/addon/2691
RefControl 編輯REF來源等
https://addons.mozilla.org/firefox/953/
LiveHTTPHeaders方便記錄給次的GET和POST提交併可以relpaly修改HTTP請求包
https://addons.mozilla.org/firefox/3829/
Tamper Data 監視所有的GET和POST提交
https://addons.mozilla.org/firefox/966/
User Agent Switcher 可以僞造User Agent
https://addons.mozilla.org/firefox/59/
View Dependencies 展示頁面所有相關的文件
https://addons.mozilla.org/firefox/2214/
Web Developer 控制打開關閉HTML元素
https://addons.mozilla.org/firefox/60/
Jsview 查看整個頁面的JS
https://addons.mozilla.org/firefox/2076/
FormFox 自動識別提交表單指向的URL
https://addons.mozilla.org/fr/firefox/addon/1579
FireBug 自動查找頁面語法錯誤
https://addons.mozilla.org/firefox/1843/
httpfox http協議分析器
https://addons.mozilla.org/en-US/firefox/addon/6647
總結:
只有對項目中所有的應用接口與功能進行全面測試,並對可能造成的風險進行一一審覈,兼備完善的WEB安全技術,同時,由於未來情況下可能會存在新的攻擊方式,並時刻關注業內安全事件,對於新的攻擊手段進行跟蹤學習,應用到安全測試中,纔可以達到安全黑盒測試的全面性,保證應用的安全性。