其實很多安全漏洞都屬于Web應用漏洞,這些Web漏洞可以通過滲透測試驗證。滲透測試是利用模拟黑客攻擊的方式,評估計算機網絡系統安全性能的一種方法。這個過程是站在攻擊者角度對系統的任何弱點、技術缺陷或漏洞進行主動分析,并且有條件地主動利用安全漏洞。 滲透測試并沒有嚴格的分類方法,即使在軟件開發生命周期中,也包含了滲透測試的環節,但是根據實際應用,普遍認為滲透測試分為黑盒測試、白盒測試2類,其中黑盒測試中,滲透者完全處于對系統一無所知的狀态,而白盒測試與黑盒測試恰恰相反,滲透者在完全了解程序結構的情況下進行測試。但是不管采用哪種測試方法,滲透測試都具有以下特點。
(1)滲透測試是一個漸進的并且逐步深人的過程。
(2)滲透測試是選擇不影響業務系統正常運行的攻擊方法進行的測試。
滲透測試步驟
滲透測試遵循軟件測試的基本流程,但由于其測試過程與目标的特殊性,在具體實現步驟上滲透測試與常見軟件測試并不相同。滲透測試流程主要包括8個步驟,如下圖所示:
圖片來自 黑馬程序員官網
下面結合上圖介紹每一個步驟所要完成的任務。
(1 )明确目标
當測試人員拿到需要做滲透測試的項目時,首先确定測試需求,如測試是針對業務邏輯漏洞,還是針對人員管理權限漏洞等;然後确定客戶要求滲透測試的範圍,如IP段、域名、整站滲透或者部分模塊滲透等;最後确定滲透測試規則,如能夠滲透到什麼程度,是确定漏洞為止還是繼續利用漏洞進行更進一步的測試,是否允許破壞數據,是否能夠提升權限等。 在這一階段,測試人員主要是對測試項目有一個整體明确的了解,方便測試計劃的制訂。
(2)收集信息
在信息收集階段要盡量收集關于項目軟件的各種信息。例如,對于一個Web應用程序,要收集腳本類型、服務器類型、數據庫類型以及項目所用到的框架、開源軟件等。信息收集對于滲透測試來說非常重要,隻有掌握目标程序足夠多的信息,才能更好地進行漏洞檢測。
信息收集的方式可分為以下2種。
①主動收集:通過直接訪問、掃描網站等方式收集想要的信息,這種方式可以收集的信 息比較多,但是訪問者的操作行為會被目标主機記錄。
②被動收集:利用第三方服務對 目标進行了解,如上網搜索相關信息。 這種方式獲取的 信息相對較少且不夠直接,但目标主機不會發現測試人員的行為。
(3)掃描漏洞
在這一階段,綜合分析收集到的信息,借助掃描工具對目标程序進行掃描,查找存在的安全漏洞。
(4)驗證漏洞
在掃描漏洞階段,測試人員會得到很多關于目标程序的安全漏洞,但這些漏洞有誤報,需要測試人員結合實際情況,搭建模拟測試環境對這些安全漏洞進行驗證。被确認的安全漏洞才能被利用執行攻擊。
(5)分析信息
經過驗證的安全漏洞就可以被利用起來向目标程序發起攻擊,但是不同的安全漏洞,攻擊機制并不相同,針對不同的安全漏洞需要進一步分析,包括安全漏洞原理、可利用的工具、目标程序檢測機制、攻擊是否可以繞過防火牆等,制訂一個詳細精密的攻擊計劃,這樣才能保證測試順利執行。
(6)滲透攻擊
滲透攻擊就是對目标程序發起真正的攻擊,達到測試目的,如獲取用戶賬号密碼、截取目标程序傳輸的數據、控制目标主機等。一般滲透測試是一次性測試,攻擊完成之後要執行清理工作,删除系統日志、程序日志等,擦除進人系統的痕迹。
(7)整理信息
滲透攻擊完成之後,整理攻擊所獲得的信息,為後面編寫測試報告提供依據。
(8)編寫測試報告
測試完成之後要編寫測試報告,闡述項目安全測試目标、信息收集方式、漏洞掃描工具以及漏洞情況、攻擊計劃、實際攻擊結果、測試過程中遇到的問題等。此外,還要對目标程序存在的漏洞進行分析,提供安全有效的解決辦法。
軟件測評報告請聯系王經理18684048962,更多資訊請關注公衆号:軟件測評閑聊站
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!