今天小編給大家分享一下怎么進行Web滲透測試的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、微信小程序定制開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。
滲透測試,是滲透測試工程師完全模擬黑客可能使用的攻擊技術(shù)和漏洞發(fā)現(xiàn)技術(shù),對目標(biāo)網(wǎng)絡(luò)、主機、應(yīng)用的安全作深入的探測,發(fā)現(xiàn)系統(tǒng)最脆弱的環(huán)節(jié)。
如果說安全檢測是“橫向地毯式自動化掃描”,那么滲透測試就是“縱向深度人工化入侵”。
可見滲透測試的目的是發(fā)現(xiàn)目標(biāo)系統(tǒng)潛在的業(yè)務(wù)漏洞風(fēng)險。
安全問題都體現(xiàn)在輸入輸出的問題上,能夠分析數(shù)據(jù)流就有跡可循了。先知道滲透測試的流程,用工具找到漏洞,了解并且復(fù)現(xiàn)它。
如何進行Web滲透測試?
完整web滲透測試框架
當(dāng)需要測試的web應(yīng)用數(shù)以千計,就有必要建立一套完整的安全測試框架,流程的最高目標(biāo)是要保證交付給客戶的安全測試服務(wù)質(zhì)量。
立項:項目建立,時間安排,人力分配,目標(biāo)制定,廠商接口人確定;
系統(tǒng)分析&威脅分析:針對具體的web應(yīng)用,分析系統(tǒng)架構(gòu)、使用的組件、對外提供的接口等,以STRIDE為威脅模型進行對應(yīng)的安全威脅分析,輸出安全威脅分析表,重點關(guān)注top3威脅;
制定測試用例:根據(jù)威脅分析的結(jié)果制定對應(yīng)的測試用例,測試用例按照模板輸出,具備可執(zhí)行性;
測試執(zhí)行&漏洞挖掘:測試用例執(zhí)行&發(fā)散測試,挖掘?qū)?yīng)的安全問題or漏洞;
問題修復(fù)&回歸測試:指導(dǎo)客戶應(yīng)用開發(fā)方修復(fù)安全問題or漏洞,并進行回歸測試,確保安全問題or漏洞得到修復(fù),并且沒有引入新的安全問題;
項目總結(jié)評審:項目過程總結(jié),輸出文檔評審,相關(guān)文檔歸檔。
2、Web應(yīng)用的滲透測試流程
主要分為3個階段,分別是:信息收集→漏洞發(fā)現(xiàn)→漏洞利用,下面仔細分析一下各個階段流程:
一、信息收集
在信息收集階段,我們需要盡量多的收集關(guān)于目標(biāo)web應(yīng)用的各種信息,比如:腳本語言的類型、服務(wù)器的類型、目錄的結(jié)構(gòu)、使用的開源軟件、數(shù)據(jù)庫類型、所有鏈接頁面,用到的框架等
腳本語言的類型:常見的腳本語言的類型包括:php、asp、aspx、jsp等
測試方法:
1 爬取網(wǎng)站所有鏈接,查看后綴
2 直接訪問一個不存在頁面后面加不同的后綴測試
3 查看robots.txt,查看后綴
服務(wù)器的類型:常見的web服務(wù)器包括:apache、tomcat、IIS、ngnix等
測試方法:
1 查看header,判斷服務(wù)器類型
2 根據(jù)報錯信息判斷
3 根據(jù)默認頁面判斷
目錄的結(jié)構(gòu):了解更多的目錄,可能發(fā)現(xiàn)更多的弱點,如:目錄瀏覽、代碼泄漏等。
測試方法
1 使用字典枚舉目錄
2 使用爬蟲爬取整個網(wǎng)站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
使用的開源軟件:我們?nèi)绻懒四繕?biāo)使用的開源軟件,我們可以查找相關(guān)的軟件的漏洞直接對網(wǎng)站進行測試。
測試方法
指紋識別(網(wǎng)絡(luò)上有很多開源的指紋識別工具)
數(shù)據(jù)庫類型:對于不同的數(shù)據(jù)庫有不同的測試方法。
測試方法
1 使應(yīng)用程序報錯,查看報錯信息
2 掃描服務(wù)器的數(shù)據(jù)庫端口(沒做NAT且防火墻不過濾時有效)
所有鏈接頁面:這個跟前面的獲取目錄結(jié)構(gòu)類似,但是這個不只是獲取網(wǎng)站的所有功能頁面,有時候還可以獲取到管理員備份的源碼。
測試方法
1 使用字典枚舉頁面
2 使用爬蟲爬取整個網(wǎng)站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
用到的框架:很多網(wǎng)站都利用開源的框架來快速開發(fā)網(wǎng)站,所以收集網(wǎng)站的框架信息也是非常關(guān)鍵的。
測試方法
指紋識別(網(wǎng)絡(luò)上有很多開源的指紋識別工具)
二、漏洞發(fā)現(xiàn)
在這個階段我們在做測試的時候要對癥下藥,不能盲目的去掃描,首先要確定目標(biāo)應(yīng)用是否使用的是公開的開源軟件,開源框架等、然后在做深一度的漏洞掃描。
關(guān)于開源軟件的漏洞發(fā)現(xiàn)
開源的軟件:常見的開源軟件有wordpress、phpbb、dedecms等
開源的框架:常見的開源框架有Struts2、 Spring MVC、ThinkPHP等
中間件服務(wù)器:常見的中間件服務(wù)器有jboss、tomcat、Weblogic等
數(shù)據(jù)庫服務(wù):常見的數(shù)據(jù)庫服務(wù)mssql、MySQL、oracle、redis、sybase、MongoDB、DB2等
對于開源軟件的測試方法
1 通過指紋識別軟件判斷開源軟件的版本信息,針對不同的版本信息去開放的漏洞數(shù)據(jù)庫查找相應(yīng)版本的漏洞進行測試
2 對于默認的后臺登錄頁、數(shù)據(jù)庫服務(wù)端口認證等入口可以進行簡單的暴力破解、默認口令嘗試等操作
3 使用開源的漏洞發(fā)現(xiàn)工具對其進行漏洞掃描,如:WPScan
關(guān)于自主開發(fā)的應(yīng)用
手動測試:這個階段,我們需要手工測試所有與用戶交互的功能,比如:留言、登入、下單、退出、退貨、付款等操作
軟件掃描:使用免費的軟件掃描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp關(guān)鍵點
代碼安全之上傳文件
代碼安全之文件包含
代碼安全之SSRF
邏輯漏洞之密碼重置
邏輯漏洞之支付漏洞
邏輯漏洞之越權(quán)訪問
平臺安全之中間件安全
三、漏洞利用
針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試
手工測試
手工測試是通過客戶端或服務(wù)器訪問目標(biāo)服務(wù),手工向目標(biāo)程序發(fā)送特殊的數(shù)據(jù),包括有效的和無效的輸入,觀察目標(biāo)的狀態(tài)、對各種輸入的反應(yīng),根據(jù)結(jié)果來發(fā)現(xiàn)問題的漏洞檢測技術(shù)。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現(xiàn)起來比較簡單。但這種方法高度依賴于測試者,需要測試者對目標(biāo)比較了解。手工測試可用于Web應(yīng)用程序、瀏覽器及其他需要用戶交互的程序。
這種方式對于有特殊過濾等操作,或者網(wǎng)絡(luò)上沒有成型的利用工具的時候可以使用。
工具測試
網(wǎng)絡(luò)上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟件漏洞的matesploit等。
以上就是“怎么進行Web滲透測試”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。