前言
上次發的文章【都2021年了,還在問網路安全怎么入門】很多小伙伴在評論區回復不知道怎么學習,我也反思了一下,確實沒寫到學習方法和路線,所以這一期就出一一個怎么學習網路安全的學習路線和方法,覺得有用的話三連收藏下

首先咱們聊聊,學習網路安全方向通常會有哪些問題
1、打基礎時間太長
學基礎花費很長時間,光語言都有幾門,有些人會倒在學習linux系統及命令的路上,更多的人會倒在學習語言上;
2、知識點掌握程度不清楚
對于網路安全基礎內容,很多人不清楚需要學到什么程度,囫圇吞棗,導致在基礎上花費太多時間;看到很多小伙伴,買了HTML,PHP,資料庫,計算機網路等書籍,每本還很厚,很多寫得也很深,發現越學越沒自信,別人學個PHP或者資料庫就可以找到作業,而網路安全要學這么多,越來越懷疑自己是不是選錯了方向;
3、知識點分不清重點
很多人花了很大精力學完了基礎內容,但是發現很多知識和后續網路安全關聯不大,沒有分清重點,浪費了很多時間;
4、知識點學習不系統
之前看到很多小伙伴在b站找了好多視頻,也去其他平臺買了點小課,百度云盤上也有1-2T的學習資料和視頻內容,但是每一類學完都需要花費不少時間,且內容很多有重復性,學完SQL注入后,后面又看到另一家講這個SQL注入,還不錯,又會去學習一遍,發現學完所有web漏洞原理后,自己還是不太確定自己是否把Web漏洞這塊的知識點學全沒有;
5、自己解決問題難
對于初學者來說,很多會自己搭建一些靶場,但是由于配置環境等原因,耽誤時間會很多,尤其初學者碰到連續3個問題無法解決的時候,很容易放棄;對于一部分動手能力較差的同學,這塊可能會直接影響到繼續學習的信心;
6、實戰水平不夠
對于學網路安全,滲透測驗方向的技術,其實很大程度上學習的就是“黑客”技術,通過學習怎么進攻和入侵,才能夠更清楚系統和應用怎么去防御;而這塊也恰恰是網路安全的核心,如果光有理論,實戰經驗少,也是較難去就業;在平時學習中,除了可以搭建一些開源的靶場用于練習,最好還是要有真實漏洞組成的靶場用于學習,當然也可以去SRC平臺去滲透測驗一些真實網站(一定要獲得授權才可以滲透真實網站),但是難度發現又比較大,很多初學者會喪失信心,懷疑自己;
7、內網學習困難較大
Web滲透這塊的資料在互聯網到處都是,學習起來相對較為輕松,但是內網這塊的資料在互聯網相對較少,能夠借鑒的資料不多,另外也需要有相應的靶場配合練習,才能有技術上的提高和積累;學習難度會比較大,

了解了問題,同時結合自身的一些特點來調整學習方向,會事半功倍,以下為3種學習線路,適用于不同的學習人群
**書籍查看和網安入門到進階精通30G的全套資料我已經打包整理好了
【戳我獲取網路安全資源】
方法1:先學習編程,然后學習Web滲透及工具使用等
適用人群:有一定的代碼基礎的小伙伴
(1)基礎部分
基礎部分需要學習以下內容:
(1.1)計算機網路 :
重點學習OSI、TCP/IP模型,網路協議,網路設備作業原理等內容,其他內容快速通讀;
(1.2)Linux系統及命令 :
由于目前市面上的Web服務器7成都是運行在Linux系統之上,如果要學習滲透Web系統,最起碼還是要對linux系統非常熟悉,常見的操作命令需要學會;
**學習建議:**學習常見的10%左右的命令適用于90%的作業場景,和office軟體一樣,掌握最常用的10%的功能,基本日常使用沒什么問題,遇到不會的,再去找度娘;常見的linux命令也就50-60個,很多小白囫圇吞棗什么命令都學,發現記不住啊!!!!這個學習方法也是不對的;
(1.3)Web框架 :
熟悉web框架的內容,前端HTML,JS等腳本語言了解即可,后端PHP語言重點學習,切記不要按照開發的思路去學習語言,php最低要求會讀懂代碼即可,當然會寫最好,但不是開發,但不是開發,但不是開發,重要的事情說三遍;
(1.4)資料庫:
需要學習SQL語法,利用常見的資料庫MySQL學習對應的資料庫語法,也是一樣,SQL的一些些高級語法可以了解,如果沒有時間完全不學也不影響后續學習,畢竟大家不是做資料庫分析師,不需要學太深;
(2)Web安全
(2.1)Web滲透
掌握OWASP排名靠前的10余種常見的Web漏洞的原理、利用、防御等知識點,然后配以一定的靶場練習即可;有的小白可能會問,去哪里找資料,建議可以直接買一本較為權威的書籍,配合b站的免費視頻系統學習,然后利用開源的靶場輔助練習即可;
**【推薦書籍】**白帽子講Web安全(阿里白帽子黑客大神道哥作品)

**【推薦靶場】**常見的靶場都可以上github平臺搜索,推薦以下靶場DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu等,有些是綜合靶場,有些是專門針對某款漏洞的靶場;
(2.2)工具學習
Web滲透階段還是需要掌握一些必要的工具,工具的學習b站上的視頻比較多,挑選一些講解得不錯的視頻看看,不要一個工具看很多視頻,大多數視頻是重復的,且很浪費時間;
**主要要掌握的工具和平臺:**burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的練習完全可以利用上面的開源靶場去練習,足夠了,
練習差不多了,可以去SRC平臺滲透真實的站點,看看是否有突破,如果涉及到需要繞過WAF的,需要針對繞WAF專門去學習,姿勢也不是特別多,系統性學習學習,然后多總結經驗,更上一層樓,
(2.2)自動化滲透
自動化滲透需要掌握一門語言,且需要熟練運用,可以是任何一門自己已經掌握得很熟悉得語言,都可以,如果沒有一門掌握很好的,那我推薦學習python,最主要原因是學起來簡單,模塊也比較多,寫一些腳本和工具非常方便;
什么鬼?又要學習編程,剛才不是說了編程不是學習網路安全的必要條件,不懂自動化滲透也不影響入門和就業,但是會影響職業的發展,且學習python不需要掌握很多不需要的模塊,也不需要開發成千上萬行的代碼,僅利用它撰寫一些工具和腳本,少則10幾行代碼,多則1-200行代碼,一般代碼量相對開發人員已經少得不能再少了,例如一個精簡得域名爬蟲代碼核心代碼就1-20行而已;
有的小伙伴可能又急了,那到底需要怎么學嘛?
幾天時間學習一下python的語法,有代碼基礎得小哥哥和小姐姐,最快可能一天就可以學習完python的語法,因為語言都是相通的,但是學習語言最快的就是寫代碼,別無他法;接下來可以開始嘗試寫一些常見得工具,如爬蟲、埠探測、資料包核心內容提取、內網活躍主機掃描等,此類代碼網上一搜一大把;然后再寫一些POC和EXP腳本,以靶場為練習即可;有的小伙伴可能又要問了,什么是POC和EXP,自己度娘去,養成動手的好習慣;
(2.3)代碼審計
什么鬼?又要看代碼,此處內容要求代碼能力比較高,因此如果代碼能力較弱,可以先跳過此部分的學習,不影響滲透道路上的學習和發展,
但是如果希望在Web滲透上需要走得再遠一些,需要精通一門后臺開發語言,推薦php,因為后臺采用php開發的網站占據最大,當然你還精通python、asp、java等語言,那恭喜你,你已經具備很好的基礎了;
代碼審計顧名思義,審計別人網站或者系統的源代碼,通過審計源代碼或者代碼環境的方式去審計系統是否存在漏洞(屬于白盒測驗范疇);
那具體要怎么學習呢?學習的具體內容按照順序列舉如下:
- 掌握php一些危險函式和安全配置;
- 熟悉代碼審計的流程和方法;
- 掌握1-2個代碼審計工具,如seay等;
- 掌握常見的功能審計法;(推薦審計一下AuditDemo,讓你產生自信)
- 常見CMS框架審計(難度大);
**【推薦書籍】**代碼審計有一本國外的書籍《代碼審計:企業級Web代碼安全架構》,當然有空的時候可以去翻翻,建議還是在b站上找一套系統介紹的課程去學習;github上找到AuditDemo,下載原始碼,搭建在本地虛擬機,然后利用工具和審計方法,審計AuditDemo中存在的10個漏洞,難度分布符合正態分布,可以挑戰一下;
至于CMS框架審計,可以去一些CMS官方網站,下載一些歷史存在漏洞的版本去審計,框架的學習利用官方網站的使用手冊即可,如ThinkPHP3.2版本是存在一些漏洞,可以嘗試讀懂代碼;但是切記不要一上來就看代碼,因為CMS框架的代碼量比較大,如果不系統先學習框架,基本屬于看不懂狀態;學習框架后能夠具備寫簡單的POC,按照代碼審計方法結合工具一起審計框架;其實也沒有想想中的那么難,如果你是開發人員轉行的,恭喜你,你已經具備代碼審計的先天性優勢,
那有的小伙伴又問了,我代碼很差,不學習代碼審計行不行,代碼審計不是學習網路安全的必要條件,能夠掌握最好,掌握不了也不影響后續的學習和就業,但你需要選擇一個階段,練習得更專業精通一些,如web滲透或者內網滲透,再或者是自動化滲透;
(3)內網安全
恭喜你,如果學到這里,你基本可以從事一份網路安全相關的作業,比如滲透測驗、Web滲透、安全服務、安全分析等崗位;
如果想就業面更寬一些,技術競爭更強一些,需要再學習內網滲透相關知識;
內網的知識難度稍微偏大一些,這個和目前市面上的學習資料還有靶場有一定的關系;內網主要學習的內容主要有:內網資訊收集、域滲透、代理和轉發技術、應用和系統提權、工具學習、免殺技術、APT等等;
不要和我說專業名詞,叭叭叭叭叭叭!具體要怎么學?
**【推薦書籍】**這個問題有點大,呃呃呃呃呃呃!可以看《內網安全攻防:滲透測驗實戰指南》,這本書寫得還不錯,國內為數不多講內網的書籍,以書籍目錄為主線,然后配合工具和靶場去練習即可;
那小伙伴又要問了,那去哪里可以下載到內網靶場!呃呃呃呃呃!這個難倒我了,如果你能力夠強,電腦配置高,可以自己利用虛擬機搭建內網環境,一般需要3臺以上的虛擬機;你也可以到國外找一些內網靶場使用,有一些收費的靶場還可以;
(4)滲透拓展
滲透拓展部分,和具體作業崗位聯系也比較緊密,盡量要求掌握,主要有日志分析、安全加固、應急回應、等保測評等內容;其中重點掌握前三部分,這塊的資料網路上也不多,也沒有多少成型的書籍資料,可通過行業相關的技術群或者行業分享的資料去學習即可,能學到這一步,基本上已經算入門成功,學習日志分析、安全加固、應急回應三部分的知識也相對較為容易,
方法2:先學習Web滲透及工具,然后再學習編程
適用人群:代碼能力很弱,或者根本沒有什么代碼能力,其他基礎也比較差的小伙伴
那有的小伙伴就會問了,那你基礎都不打好,怎么學習Web滲透?
基礎部分還是要學習的,比如linux系統、計算機網路、一點點的Web框架、資料庫還是需要提前掌握;
那像php語言、自動化滲透和代碼審計部分內容,可以放在最后,當學習完畢前面知識后,也相當入門后,再來學習語言,相對會容易一些;
**【優先推薦】**方法2,對于小白來說,代碼基礎通常較弱,很多很多小白會倒在前期學習語言上,所以推薦方法2的學習,先學習web滲透和工具,也比較有意思,容易保持一個高漲的學習動力和熱情,具體學習內容我就不說了,請小伙伴們參照方法1即可,

方法3:選擇一個培訓機構學習
適用人群:需要體系化學習、增強實戰能力、轉行和快速就業的小伙伴
好了,講到這里就完結了,你們可以選擇自己適合的方法學習即可
另外,書籍獲取和網安入門到進階的全套資料我都打包整理好了,需要學習的小伙伴可以【戳我獲取網路安全資源】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294634.html
標籤:其他
上一篇:漏洞挖掘的快樂你想象不到
