大家好,我是周杰倫。
最近年底了,工作上一堆事要忙,好久沒跟大家聊聊天了。
最近很多同學,尤其是大一的新生,都在向我詢問類似的問題:
網路安全要學的東西好雜,找不到方向了,迷茫了
同學們都在研究xxx,我要去學嗎?
精力有限,我到底該學什麼程式語言,好怕選錯啊
最近下班比較早,打算寫篇文章,為大家解解惑。
說實話,大家有這些疑惑,太正常不過了,誰的大一不迷茫呢?我也曾經迷茫過。
大一那會兒,加入了學校的資訊保安協會,開始學習網路安全。
請了一位老師講木馬技術,於是大家一窩蜂去研究木馬程式設計。
又請了其他高校的安全團隊做技術交流,於是大家一窩蜂的去學習網路滲透。
又請了已工作的學長做漏洞分析逆向技術,於是大家又一窩蜂的去學組合語言。
你就說,迷不迷茫?
回過頭來看,其實瞎耽誤了不少功夫,走了不少彎路。
怎麼入門?
大一的同學,主要把基礎打好。最最重要的3門計算機課程當屬:
1、計算機網路
2、作業系統
3、計算機組成原理
這三門課是計算機的基石,不管是以後要做開發的同學,還是要做網安的同學,把這塊基礎打好對日後進一步學習都是有非常大的幫助。
像很多半路出家學習網安的同學,在接觸到很多攻防、漏洞相關的知識時,缺乏這一塊的內容,很多概念都是渾渾噩噩的,不知所云,只好再回頭去補。而如果一開始在學校的時候就把這些基礎打好,再接觸網安中的攻防對抗技術,就會更有底氣,你會明白這些技術從表象到內部原理,學的也就更紮實。
對於喜歡搞網站攻防、伺服器入侵與防護的同學,重中之重學習計算機網路。對網路層次、區域網技術、網路協議,尤其是DNS、HTTP得花大力氣學習。自己抓包觀察網路中真實的資料包,和書上講的網路協議進行對照性學習,理解計算機網路是如何工作的。
學完了計算機網路,然後學習簡單的Web前後端開發技術、瞭解常用的前後端開發框架、什麼是Ajax、跨域是什麼、自己去把網站是如何開發出來的琢磨一遍,然後學習Web安全正式入門,有了前後端開發基礎,理解了web的工作機制,才更好理解Web安全中的攻防手段原理是什麼。
對於喜歡搞逆向、軟體漏洞、破解的同學,重點學習作業系統、C/C++程式語言,有了這些基礎,你才知道軟體是怎麼開發出來的,以後再遇到相關的問題分析時才能理解的更透徹,然後學習逆向工程、組合語言、除錯技術,逐步入門。
總結一下,安全,說白了就是研究作業系統、軟體、網站、伺服器、網路協議這些東西的學科,你不能只從一個面出發,直接就學安全。還得從另一個面切入,知道它們是怎麼開發出來的,用的什麼框架語言,運作的機制是什麼。做到兩面兼顧,才能學好安全。
另外需要注意的是,網路滲透和二進位制安全是兩個不同的方向,兩個方向各有側重,最好認真思考自己的興趣所在,自己是更喜歡琢磨程式程式碼逆向分析,還是喜歡搞網站伺服器攻防。兩個方向都有很好的出路,主要結合自己的興趣所在。不要看到別人在學啥就焦慮跟風,今天學這個,明天學那個,最後兩個都沒學好。
程式語言的選擇
接下來再一次來聊一下程式語言的選擇。
網安人的程式語言選擇,可以從以下幾個方面思考:
1、用它來做網安工具開發,果斷學Python
做網路安全,經常會編寫一些工具、爬蟲、漏洞利用exploit之類的東西,所以掌握一門程式語言做一些簡單的開發是非常有必要的,那這種情況下,果斷學習Python。
Python簡單易上手,功能強大,學習週期短,在有人帶的情況,最快個把星期就能上手。
2、學習二進位制安全,果斷學C、C++
二進位制安全研究,經常要反編譯、逆向分析、除錯分析程式檔案,而這些程式檔案大多數都是用C、C++這些語言編寫的,如果不瞭解這些語言的基本特性,就很難很好的去研究它們的安全機制。
二進位制安全研究,是一個跟作業系統平臺緊密相關的方向,所以需要把作業系統的知識認真學好。而通過學習C、C++這類底層語言,也對學習作業系統有非常大的幫助。
3、學習Web安全、網路滲透,學Java、PHP、Python
網路滲透,尤其是Web安全方向,其實說白了你要研究的物件就是學習這些網站伺服器的安全能力,利用它們的漏洞。所以當然要選擇當下網際網路、網站伺服器上應用面最廣的程式語言。
而當下,這個領域,Java可謂是一家獨大,除此之外,還有很多中小型公司後臺使用PHP、Python。
比如這幾天正火的log4j漏洞,如果你對Java語言一無所知,那這個漏洞,可能也只能看個熱鬧。
下一次,說不定爆一個Python Flask框架的漏洞,如果你不知道Python Web開發,一樣會有這個尷尬。
那問題來了:這麼多後端語言,我難不成每個都要學?
其實,Web後端語言和框架雖然多,但都有相通之處,說白了,就是一個HTTP動態響應的程式。學會一個很容易就能學會其他的。
而且,就安全方向而言,講究的廣泛涉獵,又不是讓你像後端開發程式設計師一樣要深入研究,每個技術棧都瞭解一下,哪天爆了某個語言框架的漏洞,自己能找到方向去研究和知道怎麼修復安全加固。
另外 我這裡有一份零基礎入門網路安全的學習路線圖
需要的同學可以點選下方傳送門自助領取
好了,今天就寫到這裡,大家有什麼問題也可以在評論區留言告訴我。