零基礎(chǔ)學習網(wǎng)絡安全,有哪些相關(guān)資料可以推薦?

一、相關(guān)網(wǎng)站推薦
1、FreeBuf
國內(nèi)關(guān)注度最高的全球互聯(lián)網(wǎng)安全媒體平臺,愛好者們交流與分享安全技術(shù)的社區(qū),網(wǎng)絡安全行業(yè)門戶。
2、看雪
是個軟件安全技術(shù)交流場所,為安全技術(shù)愛好者提供一個技術(shù)交流平臺和資源。
3、吾愛破解
吾愛破解論壇是致力于軟件安全與病毒分析的非營利性 。
4、阿里云先知社區(qū)
一個開放型技術(shù)平臺。
5、騰訊玄武安全實驗室
各種CVE,漏洞。
6、SecWiki
安全維基,各種安全資訊。
二、WEB(應用)安全
2.1、學習路線
想法:分別學習各個模塊,搭建靶機進行練習,做CTF中的WEB安全題,然后再看懂后臺代碼,為什么會有漏洞,接下來復現(xiàn)一些CVE制作成鏡像給看雪等CTF比賽官方,最后學習metasploit等軟件,以宏觀的角度,從情報搜集開始到漏洞利用做整個滲透報告,最后將靶機的漏洞危險程度由low->impossible(感覺并沒有那么多時間...慢慢來吧)
2.2、推薦書籍
入門
《白帽子講Web安全》 2012
《Web安全深度剖析》2015
《Web安全攻防
實戰(zhàn)指南》2018
進階
《WEB之困-現(xiàn)代WEB應用安全指南》 2013
《內(nèi)網(wǎng)安全攻防滲透測試安全指南》 2020
《Metasploit滲透測試魔鬼訓練營》2013
《SQL注入攻擊與防御》2010
《黑客攻防技術(shù)寶典-Web實戰(zhàn)篇(第2版)》
三、滲透測試
3.1、學習路線

3.2、推薦書籍
《Metasploit滲透測試魔鬼訓練營》
《Metasploit滲透測試指南》
《KALI滲透測試技術(shù)實戰(zhàn)》

這一行職業(yè)前景如何?
不同于Java、C/C++等后端開發(fā)崗位有非常明晰的學習路線,網(wǎng)路安全更多是靠自己摸索,要學的東西又雜又多,難成體系。
常讀我文章的朋友知道,我很少去談到職場、面試這些方面的內(nèi)容。主要是考慮到現(xiàn)在大家的壓力已經(jīng)很大,節(jié)奏很快,所以盡量寫一些輕快的內(nèi)容。不過隨著越來越多的人問我上面這些問題,今天就專門寫一篇來擺一擺這個龍門陣。
近幾年,隨著網(wǎng)絡安全被列為國家安全戰(zhàn)略的一部分,這個曾經(jīng)細分的領(lǐng)域發(fā)展提速了不少,除了一些傳統(tǒng)安全廠商以外,一些互聯(lián)網(wǎng)大廠也都紛紛加碼了在這一塊的投入,隨之而來的吸引了越來越多的新鮮血液不斷涌入。
一、網(wǎng)絡安全分支
其實在網(wǎng)絡安全這個概念之上,還有一個更大的概念:信息安全。本文不去探討二者在學術(shù)劃分上的區(qū)別,如無特殊說明,文中將其視為一個概念,我們來看下實際工作方向上,有哪些細分路線。

在這個圈子技術(shù)門類中,工作崗位主要有以下三個方向:
安全研發(fā)
安全研究:
方向安全研究:網(wǎng)絡滲透方向
下面逐一說明一下。
1.1、安全研發(fā)
安全行業(yè)的研發(fā)崗主要有兩種分類:
與安全業(yè)務關(guān)系不大的研發(fā)崗位
與安全業(yè)務緊密相關(guān)的研發(fā)崗位
你可以把網(wǎng)絡安全理解成電商行業(yè)、教育行業(yè)等其他行業(yè)一樣,每個行業(yè)都有自己的軟件研發(fā),網(wǎng)絡安全作為一個行業(yè)也不例外,不同的是這個行業(yè)的研發(fā)就是開發(fā)與網(wǎng)絡安全業(yè)務相關(guān)的軟件。
既然如此,那其他行業(yè)通用的崗位在安全行業(yè)也是存在的,前端、后端、大數(shù)據(jù)分析等等,也就是屬于上面的第一個分類,與安全業(yè)務關(guān)系不大的類型。這里我們重點關(guān)注下第二種,與安全業(yè)務緊密相關(guān)的研發(fā)崗位。
這個分類下面又可以分為兩個子類型:
做安全產(chǎn)品開發(fā),做防
做安全工具開發(fā),做攻
安全行業(yè)要研發(fā)的產(chǎn)品,主要(但不限于)有下面這些:
防火墻、IDS、IPS
WAF(Web網(wǎng)站應用防火墻)
數(shù)據(jù)庫網(wǎng)關(guān)
NTA(
)SIEM(安全事件分析中心、態(tài)勢感知)
大數(shù)據(jù)安全分析
EDR(終端設(shè)備上的安全軟件)
DLP(數(shù)據(jù)泄漏防護)
安全檢測沙箱
總結(jié)一下,安全研發(fā)的產(chǎn)品大部分都是用于檢測發(fā)現(xiàn)、抵御安全攻擊用的,涉及終端側(cè)(PC電腦、手機、網(wǎng)絡設(shè)備等)、網(wǎng)絡側(cè)。
開發(fā)這些產(chǎn)品用到的技術(shù)主要以C/C++、Java、Python三大技術(shù)棧為主,也有少部分的GoLang、Rust。
安全研發(fā)崗位,相對其他兩個方向,對 的要求要低一些(只是相對,部分產(chǎn)品的研發(fā)對安全技能要求并不低),甚至我見過不少公司的研發(fā)對安全一無所知。在這種情況下,如果除了基本的開發(fā)功底以外,對網(wǎng)絡安全技術(shù)有所了解,自然會是你面試這些崗位時的加分項。
安全研發(fā)崗位,除了通用開發(fā)技能的要求以外,可以重點關(guān)注一下下面這些技術(shù):

上面列舉的只是最直接相關(guān)的部分,還需要有了解更多安全技術(shù)才能更好的開發(fā)產(chǎn)品,
繼續(xù)往下看。
1.2、二進制安全
二進制安全方向,這是安全領(lǐng)域兩大技術(shù)方向之一。
這個方向主要涉及到軟件漏洞挖掘、逆向工程、病毒木馬分析等工作,涉及操作系統(tǒng)內(nèi)核分析、調(diào)試與反調(diào)試、反病毒等技術(shù)。因為經(jīng)常都是與二進制的數(shù)據(jù)打交道,所以久而久之用二進制安全來統(tǒng)稱這個方向。
這個方向的特點是:需要耐得住寂寞。
比不上安全研發(fā)可以有實實在在的產(chǎn)品輸出,也比不上網(wǎng)絡滲透方向聽起來的狂拽炫酷,這個方向更多時間是在默默的分析和研究。
以漏洞挖掘為例,光是學習五花八門的攻擊手法就需要花不少的時間。在這個領(lǐng)域,為了研究一個問題,可能花費數(shù)月甚至數(shù)年時間,這絕非一般人能堅持下來的。不僅如此,不是勤奮就可以成功,更多還要靠天分。
像騰訊幾大安全實驗室的掌門人,業(yè)界知名的TK教主、吳石這些人物,他們已經(jīng)深諳漏洞挖掘的奧義,并將這門絕技融會貫通,做個夢都能想到新的玩法。不過像這樣的天才實在是少之又少,絕大多數(shù)人都無法企及。
如果說程序員是苦逼的話,那二進制安全研究就是苦逼Plus。
如果看了這些你還是有勇氣進入這個領(lǐng)域,那下面這些東西是你需要學的:

這個方向比起安全研發(fā),不僅技術(shù)難度更大,提供這些崗位的公司也很少,且基本上分布于北上廣深幾個一線城市。
1.3、網(wǎng)絡滲透
這個方向更符合于大部分人對“黑客”的認知,他們能夠黑手機、黑電腦、黑網(wǎng)站、黑服務器、黑內(nèi)網(wǎng),萬物皆可黑。
相比二進制安全方向,這個方向初期更容易入門一些,掌握一些基本技術(shù),拿起各種現(xiàn)成的工具就可以開黑了。
不過,要想從 變成黑客大神,這個方向越往后,需要學習和掌握的東西就多了:

網(wǎng)絡滲透的方向更偏向于“實戰(zhàn)”,因此對技術(shù)在廣度上有更高的要求,從網(wǎng)絡硬件設(shè)備、
網(wǎng)絡滲透方向的工作有下面幾個方向:
安全服務,俗稱乙方,這是最主要的一個方向,為甲方公司提供安全能力支持,如滲透測試,產(chǎn)品安全檢測等。
安全能力建設(shè),俗稱甲方,國內(nèi)稍微有點規(guī)模的公司都有自己的SRC(安全應急響應中心),也就是有自己的安全團隊。
國家隊:你懂的
二、學習路線
上面說完了三個大的技術(shù)方向后,下面來聊聊該怎么上路呢?下面說說我的看法。
首先別想分方向,先打好基礎(chǔ)!
第一步:計算機基礎(chǔ)
這第一步,其實跟網(wǎng)絡安全關(guān)系都不太大,而是進入IT領(lǐng)域的任何一個人都要掌握的基礎(chǔ)能力。下面五大課程,是大學老師當年教給我們的,不管你是什么技術(shù)方向最好都好好學的技術(shù),如今看來,仍然不過時:
計算機組成原理
操作系統(tǒng)
算法與數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)
這每一門課程其實都內(nèi)有乾坤,基本都不能做到一次學習就能掌握,而是伴隨每個人的職業(yè)生涯,不同的技術(shù)階段都會有不一樣的認識和感受。
具體學起來建議參考敏捷開發(fā),不斷迭代:有一個粗略的認識->有了進一步的認識->徹底掌握->溫故而知新。不用糾纏于把一門課程全部學完學懂才進入下一門課程。
第二步:編程能力
有了上面的一些基本功后,這個時候就需要動手,來寫點代碼,錘煉一下編程的功底。
下面三項,是安全行業(yè)的從業(yè)者都最好能掌握的語言:
Shell腳本:掌握常用的Linux命令,能編寫簡單的Shell腳本,處理一些簡單的事務。
C語言(C++可選):C語言沒有復雜的特性,是現(xiàn)代編程語言的祖師爺,適合編寫底層軟件,還能幫助你理解內(nèi)存、算法、操作系統(tǒng)等計算機知識,建議學一下。
Python:C語言幫助你理解底層,Python則助你編寫網(wǎng)絡、爬蟲、數(shù)據(jù)處理、圖像處理等功能性的軟件。是程序員,尤其是黑客們非常鐘愛的編程語言,不得不學。
第三步:安全初體驗
有了前面兩步的打底,是時候接觸一些網(wǎng)絡安全的技術(shù)了,剛剛開始這個階段,仍然不要把自己圈起來只學某一個方向的技術(shù)。這個階段,我的建議是:但當涉獵,見往事耳。
攻擊、Web服務攻擊、瀏覽器安全、漏洞攻擊、逆向破解、工具開發(fā)都去接觸一下,知道這是做什么的,在這個過程中去發(fā)現(xiàn)自己的興趣,讓自己對網(wǎng)絡安全各種領(lǐng)域的技術(shù)都有一個初步的認識。
第四步:分方向
在第三步中,慢慢發(fā)現(xiàn)自己的興趣點,是喜歡做各種工具的開發(fā),還是喜歡攻破網(wǎng)站,還是癡迷于主機電腦的攻擊···
這個時候就可以思考自己后面的方向,然后精力開始聚焦在這個方向上,通過上面思維導圖中各自方向的技術(shù)去持續(xù)深耕,成為某一個領(lǐng)域的大拿。
三、學習方法
上面介紹了技術(shù)分類和學習路線,這里來談一下學習方法
看書學習,這是最最基礎(chǔ)的
實際動手,開發(fā)路線需要多寫代碼,閱讀優(yōu)秀開
,二進制路線多分析樣本,編寫EXP等等,滲透測試多拿網(wǎng)站練手(合法方式)等打CTF,多參與一些網(wǎng)絡安全比賽,接近實戰(zhàn)的環(huán)境下鍛煉動手能力
混圈子,多混一些安全大牛出沒的社群、社區(qū)、論壇,掌握行業(yè)信息,了解最新技術(shù)變化趨勢(高清版思維導圖有)
四、總結(jié)
以上就是我對剛?cè)胄芯W(wǎng)絡安全的朋友的一些個人的建議,最后有一點需要說明一下:
上面列舉到的不同方向的技術(shù)不是嚴格意義獨立的,相反,很多時候是相輔相成,需要結(jié)合起來,融會貫通。
每個人的認知是有限的,我也不例外。本篇回答只是我的一家之言,建議大家多看一些人的總結(jié)和經(jīng)驗,橫向?qū)Ρ龋媛爠t明,偏聽則暗。
如果你想通過自學進入網(wǎng)絡安全這一行,甚至拿到月入30000+這個薪資,我可以把我自己整理收藏的這些教程分享給你,里面不僅有web安全,還有滲透測試等等內(nèi)容,包含電子書、面試題、pdf文檔、視頻以及相關(guān)的課件筆記,大部分我都看過,感覺還不錯,如果需要的話可以評論區(qū)告訴我。




如果覺得有幫助的話,可以幫我點贊收藏一下,寫的不對或不清楚的地方,也歡迎大家在評論區(qū)指出,謝謝!