1. 滲透測試有哪些類型該如何做好滲透測試
滲透測試可以分為:網路滲透測試、Web應用滲透測試、移動應用滲透測試、API滲透測試和物聯網滲透測試這些類型,青藤雲安全的高級安全工程師,有著豐富的滲透測試經驗可以全方位為企業提供安全建議。
2. 什麼是滲透測試如何做滲透測試
滲透測試,是為了證明網路防禦按照預期計劃正常運行而提供的一種機制。不妨假設,你的公司定期更新安全策略和程序,時時給系統打補丁,並採用了漏洞掃描器等工具,以確保所有補丁都已打上。如果你早已做到了這些,為什麼還要請外方進行審查或滲透測試呢?因為,滲透測試能夠獨立地檢查你的網路策略,換句話說,就是給你的系統安了一雙眼睛。而且,進行這類測試的,都是尋找網路系統安全漏洞的專業人士。
滲透測試一定要遵循軟體測試基本流程,要知道測試過程和目標特殊,在具體實施步驟上主要包含以下幾步:
1、明確目標
當測試人員拿到需要做滲透測試的項目時,首先確定測試需求,如測試是針對業務邏輯漏洞,還是針對人員管理許可權漏洞等;然後確定客戶要求滲透測試的范圍,如ip段、域名、整站滲透或者部分模塊滲透等;最後確定滲透測試規則,如能夠滲透到什麼程度,是確定漏洞為止還是繼續利用漏洞進行更進一步的測試,是否允許破壞數據、是否能夠提升許可權等。
2、收集信息
在信息收集階段要盡量收集關於項目軟體的各種信息。比如:對於一個Web應用程序,要收集腳本類型、伺服器類型、資料庫類型以及項目所用到的框架、開源軟體等。信息收集對於滲透測試來說非常重要,只要掌握目標程序足夠多的信息,才能更好地進行漏洞檢測。
信息收集的方式可分為以下2種:主動收集、被動收集。
3、掃描漏洞
在這個階段,綜合分析收集到的信息,藉助掃描工具對目標程序進行掃描,查找存在的安全漏洞。
4、驗證漏洞
在掃描漏洞階段,測試人員會得到很多關於目標程序的安全漏洞,但這些漏洞有誤報,需要測試人員結合實際情況,搭建模擬測試環境對這些安全漏洞進行驗證。被確認的安全漏洞才能被利用執行攻擊。
5、分析信息
經過驗證的安全漏洞就可以被利用起來向目標程序發起攻擊,但是不同的安全漏洞,攻擊機制不同,針對不同的安全漏洞需要進一步分析,制定一個詳細的攻擊計劃,這樣才能保證測試順利執行。
6、滲透攻擊
滲透攻擊實際是對目標程序進行的真正攻擊,為了達到測試的目的,像是獲取用戶賬號密碼、截取目標程序傳輸數據等。滲透測試是一次性測試,在攻擊完成後能夠執行清理工作。
7、整理信息
滲透攻擊完成後,整理攻擊所獲得的信息,為後邊編寫測試報告提供依據。
8、編寫報告
測試完成之後要編寫報告,闡述項目安全測試目標、信息收集方式、漏洞掃描工具以及漏洞情況、攻擊計劃、實際攻擊結果等。此外,還要對目標程序存在的漏洞進行分析,提供安全有效的解決辦法。
3. 滲透測試的步驟有哪些
滲透測試步驟
明確目標
· 確定范圍:測試目標的范圍,ip,域名,內外網。
· 確定規則:能滲透到什麼程度,時間?能否修改上傳?能否提權等。
· 確定需求:web應用的漏洞、業務邏輯漏洞、人員許可權管理漏洞等等。
信息收集
方式:主動掃描,開放搜索等。
開放搜索:利用搜索引擎獲得,後台,未授權頁面,敏感url等。
漏洞探索
利用上一步中列出的各種系統,應用等使用相應的漏洞。
方法:
1.漏掃,awvs,IBM appscan等。
2.結合漏洞去exploit-db等位置找利用。
3.在網上尋找驗證poc。
內容:
系統漏洞:系統沒有及時打補丁
Websever漏洞:Websever配置問題
Web應用漏洞:Web應用開發問題
其它埠服務漏洞:各種21/8080(st2)/7001/22/3389
通信安全:明文傳輸,token在cookie中傳送等。
漏洞驗證
將上一步中發現的有可能可以成功利用的全部漏洞都驗證一遍,結合實際情況,搭建模擬環境進行試驗。成功後再應用於目標中。
自動化驗證:結合自動化掃描工具提供的結果
手工驗證,根據公開資源進行驗證
試驗驗證:自己搭建模擬環境進行驗證
登陸猜解:有時可以嘗試猜解一下登陸口的賬號密碼等信息
業務漏洞驗證:如發現業務漏洞,要進行驗證
公開資源的利用
信息分析
為下一步實施滲透做准備:
精準打擊:准備好上一步探測到的漏洞的exp,用來精準打擊
繞過防禦機制:是否有防火牆等設備,如何繞過
定製攻擊路徑:最佳工具路徑,根據薄弱入口,高內網許可權位置,最終目標
繞過檢測機制:是否有檢測機制,流量監控,殺毒軟體,惡意代碼檢測等
攻擊代碼:經過試驗得來的代碼,包括不限於xss代碼,sql注入語句等
獲取所需
實施攻擊:根據前幾步的結果,進行攻擊
獲取內部信息:基礎設施
進一步滲透:內網入侵,敏感目標
持續性存在:一般我們對客戶做滲透不需要。rookit,後門,添加管理賬號,駐扎手法等
清理痕跡:清理相關日誌,上傳文件等
信息整理
整理滲透工具:整理滲透過程中用到的代碼,poc,exp等
整理收集信息:整理滲透過程中收集到的一切信息
整理漏洞信息:整理滲透過程中遇到的各種漏洞,各種脆弱位置信息
形成報告
按需整理:按照之前第一步跟客戶確定好的范圍,需求來整理資料,並將資料形成報告
補充介紹:要對漏洞成因,驗證過程和帶來危害進行分析
修補建議:當然要對所有產生的問題提出合理高效安全的解決辦法
4. 想問一下大家都是怎麼做滲透測試的呢
這個要根據個人的實際情況來決定的,比如你先要去了解什麼是滲透測試:
1、滲透測試屬於信息安全行業,准確的說是網路計算機/IT行業
2、現在你知道了它的行業屬性,那麼你是否具備一些這個行業的知識呢?
3、具備的話學習起來比較簡單,直接去學習滲透測試實戰就行,不具備接著往下看
4、現在知道它行業屬性,你大概就能清楚需要些什麼樣的基礎知識了;下面是我從非計算機網路相關專業的同學想要學習滲透測試必須掌握的知識。
5、前期入門大概需要掌握或者說了解以下知識點:
1)了解基本的網路知識,例如什麼是IP地址(63.62.61.123)去掉點是扣扣學習群,IP地址的基本概念、IP段劃分、什麼是A段、B段、C段等2)廣域網、區域網、相關概念和IP地址劃分范圍。
3)埠的基本概念?埠的分類?
4)域名的基本概念、什麼是URL、了解TCP/IP協議、
5)了解開放式通信系統互聯參考模型(OSI)
6)了解http(超文本傳輸協議)協議概念、工作原理
7)了解WEB的靜態頁面和WEB動態頁面,B/S和C/S結構
8)了解常見的伺服器、例如、Windows server2003、Linux、UNIX等
9)了解常見的資料庫、MySQL、Mssql、、Access、Oracle、db2等
10)了解基本的網路架構、例如:Linux + Apache + MySQL + php
11)了解基本的Html語言,就是打開網頁後,在查看源碼裡面的Html語言
12)了解一種基本的腳本語言、例如PHP或者asp,jsp,cgi等
然後你想學習入門,需要學習以下最基礎的知識:
1、開始入門學習路線
1)深入學習一種資料庫語言,建議從MySQL資料庫或者SQL Server資料庫、簡單易學且學會了。
其他資料庫都差不多會了。
2)開始學習網路安全漏洞知識、SQL注入、XSS跨站腳本漏洞、CSRF、解析漏洞、上傳漏洞、命令執行、弱口令、萬能密碼、文件包含漏洞、本地溢出、遠程溢出漏洞等等
)工具使用的學習、御劍、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等
2、Google hacker 語法學習
3、漏洞利用學習、SQL注入、XSS、上傳、解析漏洞等
4、漏洞挖掘學習
5、想成為大牛的話、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基礎的。
6、Linux系統命令學習、kali Linux 裡面的工具學習、Metesploit學習
7、你也可以找一些扣扣群去和大佬交流,比如上面的IP去掉點就是,裡面有很多的教程。
8、沒事多逛逛安全論壇、看看技術大牛的文章、漏洞分析文章等
5. 如何系統學習web安全,web滲透測試
首先得清楚web安全/web滲透是什麼:模擬黑客攻擊,利用黑客技術,挖掘漏洞,提出修復建議。
涉及到的技術有:資料庫/網路技術/編程技術/操作系統/滲透技術/攻防技術/逆向技術/SRC漏洞平台/ctf經驗。。
崗位能力要求:
1、熟練使用awvs、nessus、metasploit、burpsuite等安全測試工具,並對其原理有一定了解
2、熟悉OWASP中常見的web安全漏洞、業務邏輯漏洞及其原理
3、熟悉滲透測試技術的整體流程,具備獨立開展滲透工作的能力;
4、熟悉linux系統操作,了解常見web中間件、資料庫、伺服器相關漏洞
5、至少掌握一種編程語言,能夠開發用於輔助日常工作的腳本
6、具備一定的php或java代碼審計能力,能夠對公開漏洞進行分析
7、具備良好的邏輯思維、溝通技巧及團隊協作能力
8、已取得信息安全等級測評師證書的優先。(NISP)
想要系統的學習web滲透,可以參考企業對人才的要求進行學習。
6. web滲透測試工具
第一個:NST
NST一套免費的開源應用程序,是一個基於Fedora的Linux發行版,可在32和64位平台上運行。這個可啟動的Live
CD是用於監視、分析和維護計算機網路上的安全性;它可以很容易地將X86系統轉換為肉機,這有助於入侵檢測,網路流量嗅探,網路數據包生成,網路/主機掃描等。
第二個:NMAP
NMAP是發現企業網路中任何類型的弱點或漏洞的絕佳工具,它也是審計的好工具。該工具的作用是獲取原始數據包並確定哪些主機在網路的特定段上可用,正在使用什麼操作系統,以及識別特定主機的數據包防火牆或過濾器的不同類型和版本正在使用。NMAP對滲透測試過程的任何階段都很有用並且還是免費的。
第三個:BeEF工具
BeEF工具主要利用移動端的客戶,它的作用是用於檢查Web瀏覽器,對抗Web抗擊。BeEF用GitHub找漏洞,它探索了Web邊界和客戶端系統之外的缺陷。很重要的是,它是專門針對Web瀏覽器的,能夠查看單個源上下文中的漏洞。
第四個:Acunetix Scanner
它是一款知名的網路漏洞掃描工具,能審計復雜的管理報告和問題,並且通過網路爬蟲測試你的網站安全,檢測流行安全漏洞,還能包含帶外漏洞。它具有很高的檢測率,覆蓋超過4500個弱點;此外,這個工具包含了AcuSensor技術,手動滲透工具和內置漏洞測試,可快速抓取數千個網頁,大大提升工作效率。
第五個:John the Ripper
它是一個簡單可快速的密碼破解工具,用於在已知密文的情況下嘗試破解出明文的破解密碼軟體,支持大多數的加密演算法,如DES、MD4、MD5等。
7. 如何進行Web滲透測試
什麼是滲透測試?
滲透測試,是滲透測試工程師完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標網路、主機、應用的安全作深入的探測,發現系統最脆弱的環節。
如何進行Web滲透測試?
完整web滲透測試框架當需要測試的web應用數以千計,就有必要建立一套完整的安全測試框架,流程的最高目標是要保證交付給客戶的安全測試服務質量。
1、立項:項目建立,時間安排,人力分配,目標制定,廠商介面人確定;
系統分析&威脅分析:針對具體的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等。
8. 滲透測試應該怎麼做呢
01、信息收集
1、域名、IP、埠
域名信息查詢:信息可用於後續滲透
IP信息查詢:確認域名對應IP,確認IP是否真實,確認通信是否正常
埠信息查詢:NMap掃描,確認開放埠
發現:一共開放兩個埠,80為web訪問埠,3389為windows遠程登陸埠,嘿嘿嘿,試一下
發現:是Windows Server 2003系統,OK,到此為止。
2、指紋識別
其實就是網站的信息。比如通過可以訪問的資源,如網站首頁,查看源代碼:
看看是否存在文件遍歷的漏洞(如圖片路徑,再通過…/遍歷文件)
是否使用了存在漏洞的框架(如果沒有現成的就自己挖)
02、漏洞掃描
1、主機掃描
Nessus
經典主機漏掃工具,看看有沒有CVE漏洞:
2、Web掃描
AWVS(Acunetix | Website Security Scanner)掃描器
PS:掃描器可能會對網站構成傷害,小心謹慎使用。
03、滲透測試
1、弱口令漏洞
漏洞描述
目標網站管理入口(或資料庫等組件的外部連接)使用了容易被猜測的簡單字元口令、或者是默認系統賬號口令。
滲透測試
① 如果不存在驗證碼,則直接使用相對應的弱口令字典使用burpsuite 進行爆破
② 如果存在驗證碼,則看驗證碼是否存在繞過、以及看驗證碼是否容易識別
風險評級:高風險
安全建議
① 默認口令以及修改口令都應保證復雜度,比如:大小寫字母與數字或特殊字元的組合,口令長度不小於8位等
② 定期檢查和更換網站管理口令
2、文件下載(目錄瀏覽)漏洞
漏洞描述
一些網站由於業務需求,可能提供文件查看或下載的功能,如果對用戶查看或下載的文件不做限制,則惡意用戶就能夠查看或下載任意的文件,可以是源代碼文件、敏感文件等。
滲透測試
① 查找可能存在文件包含的漏洞點,比如js,css等頁面代碼路徑
② 看看有沒有文件上傳訪問的功能
③ 採用…/來測試能否誇目錄訪問文件
風險評級:高風險
安全建議
① 採用白名單機制限制伺服器目錄的訪問,以及可以訪問的文件類型(小心被繞過)
② 過濾【./】等特殊字元
③ 採用文件流的訪問返回上傳文件(如用戶頭像),不要通過真實的網站路徑。
示例:tomcat,默認關閉路徑瀏覽的功能:
<param-name>listings</param-name>
<param-value>false</param-value>
3、任意文件上傳漏洞
漏洞描述
目標網站允許用戶向網站直接上傳文件,但未對所上傳文件的類型和內容進行嚴格的過濾。
滲透測試
① 收集網站信息,判斷使用的語言(PHP,ASP,JSP)
② 過濾規則繞過方法:文件上傳繞過技巧
風險評級:高風險
安全建議
① 對上傳文件做有效文件類型判斷,採用白名單控制的方法,開放只允許上傳的文件型式;
② 文件類型判斷,應對上傳文件的後綴、文件頭、圖片類的預覽圖等做檢測來判斷文件類型,同時注意重命名(Md5加密)上傳文件的文件名避免攻擊者利用WEB服務的缺陷構造畸形文件名實現攻擊目的;
③ 禁止上傳目錄有執行許可權;
④ 使用隨機數改寫文件名和文件路徑,使得用戶不能輕易訪問自己上傳的文件。
4、命令注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句,導致各種調用系統命令的web應用,會被攻擊者通過命令拼接、繞過黑名單等方式,在服務端運行惡意的系統命令。
滲透測試
風險評級:高風險
安全建議
① 拒絕使用拼接語句的方式進行參數傳遞;
② 盡量使用白名單的方式(首選方式);
③ 過濾危險方法、特殊字元,如:【|】【&】【;】【』】【"】等
5、SQL注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句查詢後台資料庫相關信息
滲透測試
① 手動測試:判斷是否存在SQL注入,判斷是字元型還是數字型,是否需要盲注
② 工具測試:使用sqlmap等工具進行輔助測試
風險評級:高風險
安全建議
① 防範SQL注入攻擊的最佳方式就是將查詢的邏輯與其數據分隔,如Java的預處理,PHP的PDO
② 拒絕使用拼接SQL的方式
6、跨站腳本漏洞
漏洞描述
當應用程序的網頁中包含不受信任的、未經恰當驗證或轉義的數據時,或者使用可以創建 HTML或JavaScript 的瀏覽器 API 更新現有的網頁時,就會出現 XSS 缺陷。XSS 讓攻擊者能夠在受害者的瀏覽器中執行腳本,並劫持用戶會話、破壞網站或將用戶重定向到惡意站點。
三種XSS漏洞:
① 存儲型:用戶輸入的信息被持久化,並能夠在頁面顯示的功能,都可能存在存儲型XSS,例如用戶留言、個人信息修改等。
② 反射型:URL參數需要在頁面顯示的功能都可能存在反射型跨站腳本攻擊,例如站內搜索、查詢功能。
③ DOM型:涉及DOM對象的頁面程序,包括:document.URL、document.location、document.referrer、window.location等
滲透測試
存儲型,反射型,DOM型
風險評級:高風險
安全建議
① 不信任用戶提交的任何內容,對用戶輸入的內容,在後台都需要進行長度檢查,並且對【<】【>】【"】【』】【&】等字元做過濾
② 任何內容返回到頁面顯示之前都必須加以html編碼,即將【<】【>】【"】【』】【&】進行轉義。
7、跨站請求偽造漏洞
漏洞描述
CSRF,全稱為Cross-Site Request Forgery,跨站請求偽造,是一種網路攻擊方式,它可以在用戶毫不知情的情況下,以用戶的名義偽造請求發送給被攻擊站點,從而在未授權的情況下進行許可權保護內的操作,如修改密碼,轉賬等。
滲透測試
風險評級:中風險(如果相關業務極其重要,則為高風險)
安全建議
① 使用一次性令牌:用戶登錄後產生隨機token並賦值給頁面中的某個Hidden標簽,提交表單時候,同時提交這個Hidden標簽並驗證,驗證後重新產生新的token,並賦值給hidden標簽;
② 適當場景添加驗證碼輸入:每次的用戶提交都需要用戶在表單中填寫一個圖片上的隨機字元串;
③ 請求頭Referer效驗,url請求是否前部匹配Http(s)😕/ServerHost
④ 關鍵信息輸入確認提交信息的用戶身份是否合法,比如修改密碼一定要提供原密碼輸入
⑤ 用戶自身可以通過在瀏覽其它站點前登出站點或者在瀏覽器會話結束後清理瀏覽器的cookie;
8、內部後台地址暴露
漏洞描述
一些僅被內部訪問的地址,對外部暴露了,如:管理員登陸頁面;系統監控頁面;API介面描述頁面等,這些會導致信息泄露,後台登陸等地址還可能被爆破。
滲透測試
① 通過常用的地址進行探測,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常規頁面地址字典,進行掃描探測
風險評級:中風險
安全建議
① 禁止外網訪問後台地址
② 使用非常規路徑(如對md5加密)
9、信息泄露漏洞
漏洞描述
① 備份信息泄露:目標網站未及時刪除編輯器或者人員在編輯文件時,產生的臨時文件,或者相關備份信息未及時刪除導致信息泄露。
② 測試頁面信息泄露:測試界面未及時刪除,導致測試界面暴露,被他人訪問。
③ 源碼信息泄露:目標網站文件訪問控制設置不當,WEB伺服器開啟源碼下載功能,允許用戶訪問網站源碼。
④ 錯誤信息泄露:目標網站WEB程序和伺服器未屏蔽錯誤信息回顯,頁面含有CGI處理錯誤的代碼級別的詳細信息,例如SQL語句執行錯誤原因,PHP的錯誤行數等。
⑤ 介面信息泄露:目標網站介面訪問控制不嚴,導致網站內部敏感信息泄露。
滲透測試
① 備份信息泄露、測試頁面信息泄露、源碼信息泄露,測試方法:使用字典,爆破相關目錄,看是否存在相關敏感文件
② 錯誤信息泄露,測試方法:發送畸形的數據報文、非正常的報文進行探測,看是否對錯誤參數處理妥當。
③ 介面信息泄露漏洞,測試方法:使用爬蟲或者掃描器爬取獲取介面相關信息,看目標網站對介面許可權是否合理
風險評級:一般為中風險,如果源碼大量泄漏或大量客戶敏感信息泄露。
安全建議
① 備份信息泄露漏洞:刪除相關備份信息,做好許可權控制
② 測試頁面信息泄露漏洞:刪除相關測試界面,做好許可權控制
③ 源碼信息泄露漏洞:做好許可權控制
④ 錯誤信息泄露漏洞:將錯誤信息對用戶透明化,在CGI處理錯誤後可以返回友好的提示語以及返回碼。但是不可以提示用戶出錯的代碼級別的詳細原因
⑤ 介面信息泄露漏洞:對介面訪問許可權嚴格控制
10、失效的身份認證
漏洞描述
通常,通過錯誤使用應用程序的身份認證和會話管理功能,攻擊者能夠破譯密碼、密鑰或會話令牌, 或者利用其它開發缺陷來暫時性或永久性冒充其他用戶的身份。
滲透測試
① 在登陸前後觀察,前端提交信息中,隨機變化的數據,總有與當前已登陸用戶進行綁定的會話唯一標識,常見如cookie
② 一般現在網站沒有那種簡單可破解的標識,但是如果是跨站認證,單點登錄場景中,可能為了開發方便而簡化了身份認證
風險評級:高風險
安全建議
① 使用強身份識別,不使用簡單弱加密方式進行身份識別;
② 伺服器端使用安全的會話管理器,在登錄後生成高度復雜的新隨機會話ID。會話ID不能在URL中,可以安全地存儲,在登出、閑置超時後使其失效。
11、失效的訪問控制
漏洞描述
未對通過身份驗證的用戶實施恰當的訪問控制。攻擊者可以利用這些缺陷訪問未經授權的功能或數據,例如:訪問其他用戶的帳戶、查看敏感文件、修改其他用戶的數據、更改訪問許可權等。
滲透測試
① 登入後,通過burpsuite 抓取相關url 鏈接,獲取到url 鏈接之後,在另一個瀏覽器打開相關鏈接,看能夠通過另一個未登入的瀏覽器直接訪問該功能點。
② 使用A用戶登陸,然後在另一個瀏覽器使用B用戶登陸,使用B訪問A獨有的功能,看能否訪問。
風險評級:高風險
安全建議
① 除公有資源外,默認情況下拒絕訪問非本人所有的私有資源;
② 對API和控制器的訪問進行速率限制,以最大限度地降低自動化攻擊工具的危害;
③ 當用戶注銷後,伺服器上的Cookie,JWT等令牌應失效;
④ 對每一個業務請求,都進行許可權校驗。
12、安全配置錯誤
漏洞描述
應用程序缺少適當的安全加固,或者雲服務的許可權配置錯誤。
① 應用程序啟用或安裝了不必要的功能(例如:不必要的埠、服務、網頁、帳戶或許可權)。
② 默認帳戶的密碼仍然可用且沒有更改。
③ 錯誤處理機制向用戶披露堆棧跟蹤或其他大量錯誤信息。
④ 對於更新的系統,禁用或不安全地配置最新的安全功能。
⑤ 應用程序伺服器、應用程序框架(如:Struts、Spring、ASP.NET)、庫文件、資料庫等沒有進行相關安全配置。
滲透測試
先對應用指紋等進行信息搜集,然後針對搜集的信息,看相關應用默認配置是否有更改,是否有加固過;埠開放情況,是否開放了多餘的埠;
風險評級:中風險
安全建議
搭建最小化平台,該平台不包含任何不必要的功能、組件、文檔和示例。移除或不安裝不適用的功能和框架。在所有環境中按照標準的加固流程進行正確安全配置。
13、使用含有已知漏洞的組件
漏洞描述
使用了不再支持或者過時的組件。這包括:OS、Web伺服器、應用程序伺服器、資料庫管理系統(DBMS)、應用程序、API和所有的組件、運行環境和庫。
滲透測試
① 根據前期信息搜集的信息,查看相關組件的版本,看是否使用了不在支持或者過時的組件。一般來說,信息搜集,可通過http返回頭、相關錯誤信息、應用指紋、埠探測(Nmap)等手段搜集。
② Nmap等工具也可以用於獲取操作系統版本信息
③ 通過CVE,CNVD等平台可以獲取當前組件版本是否存在漏洞
風險評級:按照存在漏洞的組件的安全風險值判定當前風險。
安全建議
① 移除不使用的依賴、不需要的功能、組件、文件和文檔;
② 僅從官方渠道安全的獲取組件(盡量保證是最新版本),並使用簽名機制來降低組件被篡改或加入惡意漏洞的風險;
③ 監控那些不再維護或者不發布安全補丁的庫和組件。如果不能打補丁,可以考慮部署虛擬補丁來監控、檢測或保護。
詳細學習可參考:
9. 滲透測試的測試技巧
為了從滲透測試上獲得最大價值,應該向測試組織提供盡可能詳細的信息。這些組織同時會簽署保密協議,這樣,你就可以更放心地共享策略、程序及有關網路的其它關鍵信息。
還要確定的是,哪些系統需要測試。雖然你不想漏掉可能會受到攻擊的某個系統,但可能仍想分階段把滲透測試外包出去,以便每個階段專注於網路的不同部分。
你還應該制訂測試准則,譬如說:滲透測試人員可以探查漏洞並進行測試,但不得利用,因為這可能會危及到你想要保護的系統。
此外,你還要提供合適的測試途徑。如果你想測試在非軍事區(DMZ)裡面的系統,最好的測試地方就是在同一個網段內測試。讓滲透測試人員在防火牆外面進行測試聽起來似乎更實際,但內部測試可以大大提高發現防火牆原本隱藏的伺服器安全漏洞的可能性。因為,一旦防火牆設置出現變動,就有可能暴露這些漏洞,或者有人可能通過漏洞,利用一台DMZ伺服器攻擊其它伺服器。還記得尼姆達病毒嗎?它就是首次攻擊得逞後、利用一台Web伺服器發動其它攻擊的。
以外部需要訪問的Web或應用伺服器為例,你應該考慮與滲透測試人員共享這些應用的源代碼,如果測試涉及這些腳本或程序的話。沒有源代碼,很難測試ASP或CGI腳本,事先認定攻擊者根本不會看到源代碼是不明智的。Web伺服器軟體裡面的漏洞往往會把腳本和應用暴露在遠程攻擊者面前。如果能夠獲得應用的源代碼,則可以提高測試該應用的效率。畢竟,你出錢是為了讓滲透測試人員查找漏洞,而不是浪費他們的時間。
10. 網站安全滲透測試怎麼做
這個是通過多方面的滲透測試進行的,比如說伺服器滲透測試、應用層測試等,具體的網堤安全可以解答。