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