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