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