我經常會看到這一類的問題:
- 學習XXX知識沒效果;
- 學習XXX技能沒方向;
- 學習XXX沒辦法入門;
給大家一個忠告,如果你完全沒有基礎的話,前期最好不要盲目去找資料學習,因為大部分人把資料收集好之后,基本上都是放在收藏夾吃灰,同時資料收集的多了,學起來就會迷茫,也會讓自己很有壓力。
磨刀不誤砍柴工,如果你是準備自學的話,要分步驟去進行:
第一步:搭建自學知識框架,具體怎么搭建學習框架,在后面我會講;
第二步:按照學習框架給自己定制階段性的學習計劃和目標,最好是按周自我反饋和調整;
第三步:針對每周的學習計劃尋找合適的自學資源,注意,只找當前需要的,不要貪多
第四步:找幾個懂得人,和他們處理好關系,后面學習過程中遇到問題還能有人給你解答;
這些都要一步一步來,不要想著一口氣吃成一個大胖子。
搭建學習框架也是有訣竅的,比如我常用的三種方式:
- 和牛人成為朋友,身邊的朋友或公司的同事都可以,但要注意,記得請人家吃飯聯絡好感情,不然到關鍵時刻,很少有人會去幫你;
- 從各個博客網站上面搜索想了解的知識點路線圖,然后找高贊的博文,基本上不會差,但要注意辨別真偽;
- 多找幾個培訓機構,看他們整理的課程大綱是什么樣的,涉及哪些知識點,然后做歸類匯總,具體的我就不說了,免得讓大家認為我在給培訓機構打廣告;
廢話不多說,先上一張圖鎮樓,看看網絡安全有哪些方向,它們之間有什么關系和區別,各自需要學習哪些東西。

網絡安全學習路線
2023年最新網絡安全(黑客)全套學習資料
怎么入門?
我們落到具體的技術點上來,網絡安全學習路線,整體學習時間大概半年左右,具體視每個人的情況而定。
如果你把每周要學的內容精細化到這種程度,你還會擔心學不會,入不了門嗎,其實說到底就是學了兩個月,但都是東學一下,西學一下,什么內容都是淺嘗輒止,沒有深入進去,所以才會有學了2個月,入不了門這種感受。
1、Web安全相關概念(2周)
- 熟悉基本概念(SQL注入、上傳、XSS、CSRF、一句話木馬等);
- 通過關鍵字(SQL注入、上傳、XSS、CSRF、一句話木馬等)進行google/SecWiki;
- 閱讀《精通腳本黑客》,雖然很舊也有錯誤,但是入門還是可以的;
- 看一些滲透筆記/視頻,了解滲透實戰的整個過程,可以Google(滲透筆記、滲透過程、入侵過程等);
2、熟悉滲透相關工具(3周)
- 熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用;
- 了解該類工具的用途和使用場景,先用軟件名字Google/SecWiki;
- 下載無后門版的這些軟件進行安裝;
- 學習并進行使用,具體教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
- 待常用的這幾個軟件都學會了可以安裝音速啟動做一個滲透工具箱;
3、滲透實戰操作(5周)
掌握滲透的整個階段并能夠獨立滲透小型站點。 網上找滲透視頻看并思考其中的思路和原理,關鍵字(滲透、SQL注入視頻、文件上傳入侵、數據庫備份、dedecms漏洞利用等等);
- 自己找站點/搭建測試環境進行測試,記住請隱藏好你自己;
- 思考滲透主要分為幾個階段,每個階段需要做那些工作;
- 研究SQL注入的種類、注入原理、手動注入技巧;
- 研究文件上傳的原理,如何進行截斷、雙重后綴欺騙(IIS、php)、解析漏洞利用(IIS、Nignix、Apache)等;
- 研究XSS形成的原理和種類,具體學習方法可以Google/SecWiki;
- 研究windows/linux提權的方法和具體使用;
4、關注安全圈動態(1周)
- 關注安全圈的最新漏洞、安全事件與技術文章;
- 通過SecWiki瀏覽每日的安全技術文章/事件;
- 通過Weibo/Twitter關注安全圈的從業人員(遇到大牛的關注或者好友果斷關注),天天抽時間刷一下;
- 通過feedly/鮮果訂閱國內外安全技術博客(不要僅限于國內,平時多注意積累),沒有訂閱源的可以看一下SecWiki的聚合欄目;
- 養成習慣,每天主動提交安全技術文章鏈接到SecWiki進行積淀;
- 多關注下最新漏洞列表,推薦幾個:exploit-db、CVE中文庫、Wooyun等,遇到公開的漏洞都去實踐下。
- 關注國內國際上的安全會議的議題或者錄像,推薦SecWiki-Conference;
5、熟悉Windows/Kali Linux(3周)
- 學習Windows/Kali Linux基本命令、常用工具;
- 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert.NET,tasklist,taskkill
- 等;
- 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
- 熟悉Kali Linux系統下的常用工具,可以參考SecWiki《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
- 熟悉metasploit工具,可以參考SecWiki、《Metasploit滲透測試指南》;
6、服務器安全配置(3周)
- 學習服務器環境配置,并能通過思考發現配置存在的安全問題;
- Windows2003/2008環境下的IIS配置,特別注意配置安全和運行權限,;
- Linux環境下的LAMP的安全配置,主要考慮運行權限、跨目錄、文件夾權限等;
- 遠程系統加固,限制用戶名和口令登陸,通過iptables限制端口;
- 配置軟件Waf加強系統安全,在服務器配置mod_security等系統;
- 通過Nessus軟件對配置環境進行安全檢測,發現未知安全威脅;
7、腳本編程學習(4周)
- 選擇腳本語言Perl/Python/ target=_blank class=infotextkey>Python/PHP/Go/JAVA中的一種,對常用庫進行編程學習;
- 搭建開發環境和選擇IDE,PHP環境推薦Wamp和XAMPP,IDE強烈推薦Sublime;
- Python編程學習,學習內容包含:語法、正則、文件、網絡、多線程等常用庫,推薦《Python核心編程》,不要看完;
- 用Python編寫漏洞的exp,然后寫一個簡單的網絡爬蟲;
- PHP基本語法學習并書寫一個簡單的博客系統,參見《PHP與MySQL程序設計(第4版)》、視頻;
- 熟悉MVC架構,并試著學習一個PHP框架或者Python框架(可選);
- 了解Bootstrap的布局或者css;
8、源碼審計與漏洞分析(3周)
- 能獨立分析腳本源碼程序并發現安全問題。
- 熟悉源碼審計的動態和靜態方法,并知道如何去分析程序;
- 從Wooyun上尋找開源程序的漏洞進行分析并試著自己分析;
- 了解Web漏洞的形成原因,然后通過關鍵字進行查找分析;
- 研究Web漏洞形成原理和如何從源碼層面避免該類漏洞,并整理成checklist。
9、安全體系設計與開發(5周)
- 能建立自己的安全體系,并能提出一些安全建議或者系統架構。
- 開發一些實用的安全小工具并開源,體現個人實力;
- 建立自己的安全體系,對公司安全有自己的一些認識和見解;
- 提出或者加入大型安全系統的架構或者開發;