想學滲透,如何入門?OidKing2019-02-20 10:54:37

距離編寫回答已經6個月了啊?!

我也是摸著石頭過河,各位再等等,給你們個滿意的回答

_____________________

單從web層面來說:PHP/java/python/C#瞭解其中一種語言

前端語言:HTML,JS

資料庫:mysql,SQLserver等資料庫語言

然後開始配置靶機,熟悉掌握各種漏洞原理和實現方法

不斷實戰(遵循滲透思維導圖,慢慢形成自己的滲透思維),關注各大安全平臺學習掌握各種繞狗姿勢,學習一些別人的騷姿勢,學習邏輯漏洞

學習python嘗試編寫自己的第一個fuzz自動化工具,回到靶機安裝各大廠Waf開始無盡的fuzzing。。。。

程式碼審計學習。。。。

繼續前行。。。。。

至今難忘日下的第一個站,直到現在慢慢麻痺,可我還在不斷學習,騷年這是一場沒有硝煙,無盡且冷血的戰鬥!

想學滲透,如何入門?哎哎哎2020-02-23 21:50:22

首先要根據自己的實際情況、確定學習的路線和方向的。就像建大樓,從頂端最華麗的那個地方開始,不可能成功。學滲透測試也一樣,沒選對入手的地方,導致學習過程中由於欠缺很多的知識點、很多概念理解不了、學習舉步維艱、很容易半途而廢。

現在我來分析下:

滲透測試屬於資訊保安行業,準確的說是網路計算機/IT行業

知道它行業屬性,你大概就能清楚需要些什麼樣的基礎知識了;下面是我從非計算機網路相關專業的同學想要學習滲透測試必須掌握的知識。

1)瞭解基本的網路知識、什麼是IP地址(63。626。11。23)、IP地址的基本概念、IP段劃分、什麼是A段、B段、C段等

廣域網、區域網、相關概念和IP地址劃分範圍。

2)埠的基本概念?埠的分類?

3)域名的基本概念、什麼是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、解析漏洞、上傳漏洞、命令執行、弱口令、萬能密碼、檔案包含漏洞、本地溢位、遠端溢位漏洞等等

3)工具使用的學習、御劍、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 語法學習

3、漏洞利用學習、SQL注入、XSS、上傳、解析漏洞等

4、漏洞挖掘學習

5、想成為大牛的話、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基礎的。

6、Linux系統命令學習、kali Linux 裡面的工具學習、Metesploit學習

7、沒事多逛逛安全論壇、看看技術大牛的文章、漏洞分析文章等

當然了,給你再好的路線,你也不一定能夠堅持下去

最好的方式就是動手,可以去找一些資料照著裡邊的demo練習,時間久了,你水平自然就提升了

我這裡有積累一些乾貨,有需要的話,找我來拿

想學滲透,如何入門?

想學滲透,如何入門?

想學滲透,如何入門?資訊保安傳送者2020-02-24 14:58:46

給大家舉一個例子:假設我要web滲透入門,學習思路如下:

1、必備基礎:HTML 與 JavaScript(xss必學)。

2、至少選擇一種作業系統:Windows為主要學習方向,例如:DOS命令;

3、至少選擇一種搭建平臺服務:Apache為主要學習方向,例如:Apache配置、搭建;

4、至少選擇一門程式語言:PHP為主要學習方向,例如:熟悉PHP語法;

5、至少選擇一種資料庫:Mysql為主要學習方向,例如:熟悉Mysql語句;

注意:選擇的時候一定要知道一些常識,例如:

asp+access、php+mysql、aspx+mssql、jsp+mssql、jsp+oracle;

Linux下不支援asp、Linux下不支援IIS;

Windows+IIS+Asp+Access;

Linux+Apache+PHP+Mysql;

Linux+Nginx+PHP+Mysql;

總結:事實上,你對你所選擇的東西越熟悉越好,越精通越好。瞭解的知識點越多,未來,你的滲透測試才能越厲害。

想學滲透,如何入門?半山老妖2020-05-28 13:23:40

分享滲透測試入門學習路線和知識範疇

分享下學習經驗,也是我以前帶滲透測試學員總結的一些經驗。

滲透測試知識本身就非常豐富,覆蓋範圍也非常的廣泛:

就web前端知識而言;

從瀏覽器到伺服器、資料庫;

從 HTML、JavaScript 和 CSS 到 PHP、Java、ASP(。net)等。

從頁面載入到 DOM 渲染;

從靜態頁面到 MVC;

從 URL 協議到 HTTP 協議。

我相信大多數人如果沒有前端的經驗,想入這個坑,先學前端就已經要學崩了,就算一天10個小時的學習時間,學完前端知識估計要花費 1 年半左右的時間。但是實際上學習滲透測試並不需要一次性去學習這麼多的東西。

我們直接去學習攻擊型別以及常見漏洞利用方法,在學習過程中碰到不能理解的web知識。透過查閱資料補充它,不斷的積累不斷的進步。

(這樣說的可能還是比較抽象,我畫了一個圖來幫助大家理解我說的學習方法,當然我給它取了一個名字叫做“魚骨圖學習法”)

我們直接抓住幹,透過滲透學習的過程中對各種所需的知識點進行旁伸(滲透測試)

想學滲透,如何入門?

在學習中理解,在理解中加深,在實踐拓展。

如果純小白、白到什麼程度了,就是在學校裡面也沒有學過計算機相關的專業,對計算機網路知識沒有任何相關基礎。

按照我分享的經驗去學習,根據我以前指導學員經歷情況來看,每天10個小時用來學習研究滲透測試,三個月的學習時間也足夠入門了。

之前呢,我也有提到過,根據自身的實際情況來學習滲透測試,能少走彎路,避免浪費時間去學習前期入門關聯不大的知識點。

乾貨階段:前期準備;

沒有任何計算機網路相關的知識的,最好是先了解滲透測試中需要用到的相關知識點,這樣說的可能會比較籠統,我大概的列舉下:

瞭解以下基本的計算機網路基本知識;

1)什麼是IP地址(63。62。11。23)、IP地址的基本概念、IP段劃分、什麼是A段、B段、C段等廣域網、區域網、相關概念和IP地址劃分範圍。

2) 網路埠的基本概念?埠的分類?

3) 域名的基本概念、什麼是URL、瞭解TCP/IP協議。

4) 瞭解開放式通訊系統互聯參考模型(OSI)。

5) 瞭解http(超文字傳輸協議)協議概念、工作原理。

6) 瞭解WEB的靜態頁面和WEB動態頁面,B/S和C/S結構。

7) 瞭解常見的伺服器,例如 Windows server2003、Windows server2003、Linux、UNIX等。

8) 瞭解常見的資料庫,例如 MySQL、Mssql、、Access、Oracle、db2等。

9) 瞭解基本的網路架構,例如:Linux + Apache + MySQL + php。

10) 瞭解基本的Html語言,就是開啟網頁後,在檢視原始碼裡面的Html語言。

11) 瞭解至少一種基本的指令碼語言、例如 PHP、asp,aspx、jsp等。

然後你想學習入門,需要學習以下最基礎的知識:

第一階段:開始入門學習路線:

1、學習一種資料庫語言,建議從MySQL資料庫或者SQL Server資料庫、簡單易學且學會了,其他資料庫都差不多會了;

2、開始學習漏洞利用知識、SQL注入、XSS跨站指令碼漏洞、CSRF、解析漏洞、上傳漏洞、命令執行、弱口令、萬能密碼、檔案包含漏洞、本地溢位、遠端溢位漏洞等等;

3、基本工具使用的學習Sqlmap、穿山甲(Pangolin)、御劍、明小子、啊D、burpsuite抓包工具、nmap埠探測工具等;

4、Google hacker 語法學習;

5、拿到伺服器shell,一句話木馬使用,上傳大馬!至此web滲透基本入門了;

6、以上web滲透階段學會也就差不多入門了,能滲透一些基本的網站和web伺服器等;

第二階段:鞏固與技術提升

1、駭客 Windows dos命令學習;

2、Linux系統學習、kali Linux命令學習、kali Linux 基本工具學習;

3、Metesploit滲透學習;

4、多實戰和漏洞挖掘、多看大佬文章、關注安全圈動態,多看漏洞分析文章;

5、深入學習一門語言、Java或者Python等等,建議學習從Python開始學習、簡單易學,容易上手;

以上學會了去應聘一些安全公司基本沒有什麼太大的問題,一些日常的滲透工作基本都能處理;

但是想成為公司的技術儲備,活躍在各種比賽中承接公司的重要專案,還需要完成下面的階段,也是整個滲透測試最終達成的目標。也就是內網滲透,我習慣把他叫做後滲透階段;

三、後滲透階段

如果想要更深層次的滲透下去,也就是滲透進內網或者說是辦公區域的網路,我把這個階段稱作後滲透階段;

總結下,該階段有兩個硬性指標技術(許可權提升和代理進內網)是必須要掌握的,不然無法展開下一步的工作。

1、提權

2、代理進內網

經過前期web滲透拿到了webshell或者伺服器控制權限,可能許可權比較小,只有一個shell許可權,限制指令碼執行、限制埠開啟等,這時我們需要提權。

例如:sql server 資料庫有三種許可權,分別是 SA 許可權 > db_owen 許可權 > public 許可權。

SA許可權是最高許可權,可以執行系統命令,執行和讀寫檔案、列目錄、備份資料庫(可用來寫馬)等,db_owen 許可權小於 SA 許可權,可以列目錄、備份資料庫(寫馬)等, public 許可權最小,一般只能查詢資料庫。mysql 資料庫的最高許可權是 DBA 許可權。

一般 Windows 系統需要拿到管理員(administrator)許可權,最高許可權是系統(system )許可權,Linux 系統需要拿到 root 許可權。

代理進內網,根據伺服器所處的環境不同,代理和埠轉發技術也不一樣,比如有正向代理和反向代理,埠轉發、埠複用等技術等。

最後:以上分享的是完成整個滲透測試的所有流程,基本知識點、核心知識點都涵蓋了;按照這些知識點去學習整套流程基本走完 !

入門之後便是各種滲透技能的探索和猥瑣的滲透之路研究了 !

文章為原創!是根據本人經驗總結,一字一字碼出來的 !

成為大牛路途遙遠,且行且珍惜!文章轉載:

http://www。snsoc。com/2019/12/%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95%e7%bb%8f%e9%aa%8c%e6%80%bb%e7%bb%93%e4%b9%8b%e5%bf%ab%e9%80%9f%e5%85%a5%e9%97%a8%e6%8c%87%e5%af%bc/

想學滲透,如何入門?kali2020-06-11 08:56:46

什麼是滲透測試?

滲透測試,是滲透測試工程師完全模擬駭客可能使用的攻擊技術和漏洞發現技術,對目標網路、主機、應用的安全作深入的探測,發現系統最脆弱的環節。

如果說安全檢測是“橫向地毯式自動化掃描”,那麼滲透測試就是“縱向深度人工化入侵”。

可見滲透測試的目的是發現目標系統潛在的業務漏洞風險。

安全問題都體現在輸入輸出的問題上,能夠分析資料流就有跡可循了。先知道滲透測試的流程,用工具找到漏洞,瞭解並且復現它。

一、如何進行Web滲透測試?

完整web滲透測試框架

當需要測試的web應用數以千計,就有必要建立一套完整的安全測試框架,流程的最高目標是要保證交付給客戶的安全測試服務質量。

立項:專案建立,時間安排,人力分配,目標制定,廠商介面人確定;

系統分析&威脅分析:針對具體的web應用,分析系統架構、使用的元件、對外提供的介面等,以STRIDE為威脅模型進行對應的安全威脅分析,輸出安全威脅分析表,重點關注top3威脅;

制定測試用例:根據威脅分析的結果制定對應的測試用例,測試用例按照模板輸出,具備可執行性;

測試執行&漏洞挖掘:測試用例執行&發散測試,挖掘對應的安全問題or漏洞;

問題修復&迴歸測試:指導客戶應用開發方修復安全問題or漏洞,並進行迴歸測試,確保安全問題or漏洞得到修復,並且沒有引入新的安全問題;

專案總結評審:專案過程總結,輸出文件評審,相關文件歸檔。

二、Web應用的滲透測試流程

主要分為3個階段,分別是:資訊收集→漏洞發現→漏洞利用,下面仔細分析一下各個階段流程:

如果對軟體測試、介面測試、自動化測試、效能測試、LR指令碼開發、面試經驗交流。感興趣可以175317069,群內會有不定期的發放免費的資料連結,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。

1、資訊收集

在資訊收集階段,我們需要儘量多的收集關於目標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是否洩漏

用到的框架: 很多網站都利用開源的框架來快速開發網站,所以收集網站的框架資訊也是非常關鍵的。

測試方法:

指紋識別(網路上有很多開源的指紋識別工具)

2、漏洞發現

在這個階段我們在做測試的時候要對症下藥,不能盲目的去掃描,首先要確定目標應用是否使用的是公開的開源軟體,開源框架等、然後在做深一度的漏洞掃描。

關於開源軟體的漏洞發現

開源的軟體:常見的開源軟體有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

邏輯漏洞之密碼重置

邏輯漏洞之支付漏洞

邏輯漏洞之越權訪問

平臺安全之中介軟體安全

3、漏洞利用

針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試

手工測試

手工測試是透過客戶端或伺服器訪問目標服務,手工向目標程式傳送特殊的資料,包括有效的和無效的輸入,觀察目標的狀態、對各種輸入的反應,根據結果來發現問題的漏洞檢測技術。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現起來比較簡單。但這種方法高度依賴於測試者,需要測試者對目標比較瞭解。手工測試可用於Web應用程式、瀏覽器及其他需要使用者互動的程式。

這種方式對於有特殊過濾等操作,或者網路上沒有成型的利用工具的時候可以使用。

工具測試

網路上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟體漏洞的matesploit等。