零基础入门网络渗透到底要怎么学?
前言:
很多朋友問我,想搞網(wǎng)絡(luò)安全,編程重要嗎,選什么語言呢?
國內(nèi)其實正經(jīng)開設(shè)網(wǎng)絡(luò)安全專業(yè)的學(xué)校很少,大部分同學(xué)是來自計算機(jī)科學(xué)、網(wǎng)絡(luò)工程、軟件工程專業(yè)的,甚至很多非計算機(jī)專業(yè)自學(xué)的。因此不像這三個專業(yè),有系統(tǒng)的課程體系,大一教什么,大二教什么,大三又教什么,那么清晰明白,網(wǎng)絡(luò)安全這條路很多都是自學(xué)摸索。
我從大二開始入坑網(wǎng)絡(luò)安全,至今也有十個年頭了,也見過許許多多自學(xué)成才的例子,工作這些年,先后學(xué)習(xí)過C、C++、Java、Python、Objective-C、JavaScript、TypeScript,現(xiàn)在回過頭來,有一些自己的思考。
很多培訓(xùn)班,一上來就給你講一堆各種攻擊手法、各種工具使用,很多人搞得一頭霧水,為什么要學(xué)這些,這些背后的原理是什么全都不知道。
我主張學(xué)習(xí)網(wǎng)絡(luò)安全可以像做軟件開發(fā)中的“敏捷開發(fā)”,先從一個最小的核心開始,逐步迭代,已臻完善。
這個最小的核心是什么呢?
如果你是偏向于搞網(wǎng)絡(luò)滲透的方向,這個最小核心就是:
HTTP + Web + 漏洞掃描工具
先把HTTP協(xié)議的工作機(jī)制掌握了,然后學(xué)習(xí)Web技術(shù),包括前后端如何協(xié)同工作,瀏覽器如何工作,服務(wù)器又是如何處理一個HTTP請求,一個網(wǎng)站是如何搭建起來的等等。接著再學(xué)習(xí)使用一些Web漏洞掃描工具,學(xué)習(xí)網(wǎng)站漏洞的概念,開始有“安全”這個意識。
圍繞Web相關(guān)的知識掌握的差不多了,然后可以開始迭代起來了:
- 1、有了上面這些基本知識,可以開始學(xué)習(xí)各種花式的Web漏洞攻擊,什么XSS、CSRF、SQL注入、SSRF等等。
- 2、學(xué)習(xí)漏洞原理的過程中,開始熟悉一些Web服務(wù)器的工作機(jī)制,日志技術(shù),容器技術(shù)這些知識,以及背后的操作系統(tǒng)Linux/Windows的基礎(chǔ)知識。
- 3、對Web安全有了一些基礎(chǔ),開始把眼光從Web放寬到更廣闊的網(wǎng)絡(luò)安全,這個時候,就需要進(jìn)一步學(xué)習(xí)HTTP背后的TCP/IP網(wǎng)絡(luò)協(xié)議族。這時你將會陸續(xù)接觸到什么是TCP劫持、DNS劫持、ARP欺騙、TCPSYN洪水攻擊等等。
- 4、對網(wǎng)絡(luò)攻擊的手法了解到這個階段,現(xiàn)有的工具可能就滿足不了你的需要,你需要定制一些爬蟲、掃描、漏洞POC或其他工具了,是時候來學(xué)習(xí)一些工具編寫了,你可以開始學(xué)習(xí)Python編程,門檻最低,實用性最強(qiáng)。
- 5、安全玩到后面,都是在玩漏洞。而學(xué)到后面,越來越多時間開始接觸到操作系統(tǒng)層面的漏洞,這個時候你就要開始學(xué)習(xí)一些C語言,通過C知道代碼程序底層的執(zhí)行原理,拓展自己在操作系統(tǒng)層面的知識深度。
- 6、有了上面這些技術(shù)的打底,你的眼界將會被打開,但隨之而來,你會發(fā)現(xiàn)自己要學(xué)的還有很多,但至少到這個時候,你不再像一開始那么迷茫,而是知道自己接下來該去補(bǔ)充哪些東西。
學(xué)習(xí)路線圖
總結(jié):
回答一開始那個問題,對于網(wǎng)絡(luò)滲透方向,編程不是一開始就要做的事,也不如程序員拿它吃飯那么重要,但即便如此,你還是得學(xué)一點,Python最佳推薦,C也需要學(xué)一些,至于C++嘛,了解即可,不做強(qiáng)求。
【系統(tǒng)學(xué)習(xí)資料&工具分享】
總結(jié)
以上是生活随笔為你收集整理的零基础入门网络渗透到底要怎么学?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++设计原则——开闭原则(持续更新中)
- 下一篇: Unity 斜坡滑落