更新時間:2021-04-08 來源:黑馬程序員 瀏覽量:
滲透測試遵循軟件測試的基本流程,但由于其測試過程與目標的特殊性,在具體實現(xiàn)步驟上滲透測試與常見軟件測試并不相同。滲透測試流程主要包括8個步驟,如下圖所示:
下面結合上圖介紹每一個步驟所要完成的任務。
(1 )明確目標
當測試人員拿到需要做滲透測試的項目時,首先確定測試需求,如測試是針對業(yè)務邏輯漏洞,還是針對人員管理權限漏洞等;然后確定客戶要求滲透測試的范圍,如IP段、域名、整站滲透或者部分模塊滲透等;最后確定滲透測試規(guī)則,如能夠滲透到什么程度,是確定漏洞為止還是繼續(xù)利用漏洞進行更進一步的測試,是否允許破壞數(shù)據(jù),是否能夠提升權限等。
在這一階段,測試人員主要是對測試項目有一個整體明確的了解,方便測試計劃的制訂。
(2)收集信息
在信息收集階段要盡量收集關于項目軟件的各種信息。例如,對于一個Web應用程序,要收集腳本類型、服務器類型、數(shù)據(jù)庫類型以及項目所用到的框架、開源軟件等。信息收集對于滲透測試來說非常重要,只有掌握目標程序足夠多的信息,才能更好地進行漏洞檢測。
信息收集的方式可分為以下2種。
①主動收集:通過直接訪問、掃描網(wǎng)站等方式收集想要的信息,這種方式可以收集的信
息比較多,但是訪問者的操作行為會被目標主機記錄。
②被動收集:利用第三方服務對 目標進行了解,如上網(wǎng)搜索相關信息。 這種方式獲取的
信息相對較少且不夠直接,但目標主機不會發(fā)現(xiàn)測試人員的行為。
(3)掃描漏洞
在這一階段,綜合分析收集到的信息,借助掃描工具對目標程序進行掃描,查找存在的安全漏洞。
(4)驗證漏洞
在掃描漏洞階段,測試人員會得到很多關于目標程序的安全漏洞,但這些漏洞有誤報,需要測試人員結合實際情況,搭建模擬測試環(huán)境對這些安全漏洞進行驗證。被確認的安全漏洞才能被利用執(zhí)行攻擊。
(5)分析信息
經(jīng)過驗證的安全漏洞就可以被利用起來向目標程序發(fā)起攻擊,但是不同的安全漏洞,攻擊機制并不相同,針對不同的安全漏洞需要進一步分析,包括安全漏洞原理、可利用的工具、目標程序檢測機制、攻擊是否可以繞過防火墻等,制訂一個詳細精密的攻擊計劃,這樣才能保證測試順利執(zhí)行。
(6)滲透攻擊
滲透攻擊就是對目標程序發(fā)起真正的攻擊,達到測試目的,如獲取用戶賬號密碼、截取目標程序傳輸?shù)臄?shù)據(jù)、控制目標主機等。一般滲透測試是一次性測試,攻擊完成之后要執(zhí)行清理工作,刪除系統(tǒng)日志、程序日志等,擦除進人系統(tǒng)的痕跡。
(7)整理信息
滲透攻擊完成之后,整理攻擊所獲得的信息,為后面編寫測試報告提供依據(jù)。
(8)編寫測試報告
測試完成之后要編寫測試報告,闡述項目安全測試目標、信息收集方式、漏洞掃描工具以及漏洞情況、攻擊計劃、實際攻擊結果、測試過程中遇到的問題等。此外,還要對目標程序存在的漏洞進行分析,提供安全有效的解決辦法。
猜你喜歡: