天天看點

如何成為一名優秀的網絡安全工程師?

作者:秃頭程式員ya

前言

這是我的建議如何成為網絡安全工程師,你應該按照下面順序學習。

如何成為一名優秀的網絡安全工程師?

簡要說明

第一件事你應該學習如何程式設計,我建議首先學python,然後是java。

(非必須)接下來學習一些算法和資料結構是很有幫助的,它将幫助你更好的程式設計。

一旦你學會如何程式設計,你應該學習如何用 c 程式設計。重點關注以下話題:結構體、指針的算術運算、傳值調用和引用調用、字元串IO基礎、宏、條件編譯、程式結構。

學習 UNIX 作業系統基礎:Unix shells、shell 變量、檔案系統、通用Unix 指令、Shell 腳本程式設計、Unix Shell 環境。

(非必須)學習彙編語言。了解彙編語言如何轉化為機器碼再轉化為可被計算機硬體執行的程式。并且你應該學習如何分析彙程式設計式,這對逆向工程很有用。

如何成為一名優秀的網絡安全工程師?

了解計算機作業系統及架構、程序管理、記憶體管理、檔案系統接口和實作、IO 系統、分布式系統、計算機網絡、java 網絡程式設計、防護與安全。了解系統管理者、計算機系統基礎組成,對計算機主要元件和結構有宏觀的認識。

程序管理:程序、線程、程序同步、CPU 排程、java 多線程程式設計,以及死鎖。記憶體管理:主記憶體和虛拟記憶體。

體驗不同作業系統例如 win unix linux 指令行與GUI 模式。

(非必須)學習密碼學也是很有用的,密碼學中的數學也很有用。傳統對稱密鑰,現代對稱密鑰、RSA、數字簽名等等,應用層安全:PGP、S/MIME

了解計算機網絡和Internet 應用層:Web、HTTP、FTP、DNS和socket通信。傳輸層:UDP、TCP、和擁塞控制等。另一些不錯的話題:網絡管理、WireShark網絡流量分析、滲透測試和網絡安全、你也可以深入計算機和網絡驗證、漏洞和惡意軟體分析、低層次協定包分析、了解軟體工程。了解軟體開發階段,包括需求、文檔、設計、編碼、測試和維護,軟體開發模型的優缺點。

在學術之外,也有其它的比較好的事情:參加奪旗戰、在有一定基礎參加安全會議,經常通路安全網站,在你學了一些網站相關知識,嘗試建立屬于自己的網站。

這個指導可能比其他人給出的要難一些,但當你想成為正義黑客或者是滲透測試專家時,這絕對是有必要的,你不能從腳本小子變為正義黑客,并且我寫的這些沒有我的知識量的一半,我知道我在做什麼。

網絡安全學習路線

1.1中華人民共和國網絡安全法

網絡安全學習普法

了解并介紹《網絡安全法》

如何成為一名優秀的網絡安全工程師?
  • 《全國人大常委會關于維護網際網路安全的決定》
  • 《中華人民共和國計算機資訊系統安全保護條例( 2011 年修正)》
  • 《中華人民共和國計算機資訊網絡國際聯網管理暫行規定》
  • 《計算機資訊網絡國際聯網安全保護管理辦法》
  • 《網際網路資訊服務管理辦法》
  • 《計算機資訊系統安全專用産品檢測和銷售許可證管理辦法》
  • 《通信網絡安全防護管理辦法》
  • 《國家安全法》

1.2LINUX基礎運維

  • LINUX 系統運維基礎
  • LINUX 服務管理
  • DOCKER 安裝使用
  • LINUX 安全加強

1.3LINUX網絡管理

  • 網絡必備基礎
  • 實體層
  • 資料鍊路層與交換機
  • 網絡模型 OSI TCP 對等傳輸
  • 虛拟區域網路 VLAN
  • 靜态路由與配置
  • 網絡位址轉換 NAT
  • 通路控制清單 ACL
  • IP 協定與 IP 位址分類
  • 子網路遮罩
  • 網關
  • 子網劃分

1.4HTML與JAVASCRIPT

  • HTML 入門?
  • 為什麼要學習 HTML
  • HTML 文檔格式、實體詳解
  • HTML 标簽、架構、表格、清單、表單、圖像、背景講解
  • JAVASCRIPT 簡介
  • JAVASCRIPT 特點
  • JAVASCRIPT 組成
  • 如何在網頁中寫 JAVASCRIPT

1.5PHP入門

  • PHP 環境搭建、編寫代碼工具選擇
  • PHP 基礎文法( 函數、變量、常量、注釋、資料類型、流程控制、算術運算)
  • PHP 流程控制(IF 語句 多種嵌套 SWITCH 語句 WHILE 循環 FOR 循環GOTO 循環)
  • PHP 函數
  • PHP 正規表達式
  • PHP 檔案上傳、PHP 錯誤處理
  • PHP 操作 MYSQL 資料庫
  • PHP 會話管理和控制

1.6MYSQL

  • 資料庫介紹、分類、安裝、配置、登入、連接配接等
  • 資料庫基本操作 建立、檢視、選中、查庫表、删除資料庫等相關指令行操作
  • 資料字段操作 建立 修改 增加 調整字段順序 排序 删除等字段指令行操作* 資料庫表操作建立 檢視 選中删除資料庫表等相關個指令行操作
  • 資料類型 整型、浮點、字元、時間、符合型等
  • 字元集合索引增删改查之更新記錄、資料庫權限操作

1.7JAVA入門

1.8密碼學 – 穿越密碼的迷宮

  • 剖析基本概念 - 什麼是編碼?
  • 什麼是加密與解密
  • 尋找銀彈 - 有沒有無法破解的密碼
  • 通過 JAVA 代碼入門加密與解密
  • JAVA 代碼解析對稱密碼 - DES AES
  • JAVA 代碼解析公鑰密碼 - RSA EIGAMAL 橢圓曲線 ECC
  • JAVA 代碼解析非對稱密鑰生成器
  • JAVA 代碼解析密鑰規範管理
  • JAVA 代碼解析數字簽名
  • 數字證書相關管理
  • JAVA 代碼解析安全套接字
  • 簡單并常用的 BASE64
  • 檔案校驗 - 循環備援校驗 CRC
  • 打破出口限制 - 使用 BOUNCY CASTLE 替代預設算法實作
  • 編碼轉化輔助工具 - COMMONS CODEC

第二部分:滲透與攻防

2.1安全基礎與社會形勢

2.2KALI常用工具的滲透與防禦

  • MSF 問題解答以及 MSF 初識
  • MSF 完美更新以及目錄結構解讀
  • MSF 基礎指令
  • MSF 之 MS08-067 MS17-010
  • MSF 之 CVE-2017-8464 震網三代
  • MSF 之後續權限滲透
  • MSF 之 SAMBA 服務漏洞攻擊還原

2.3SQL注入的滲透與防禦

  • SQL 注入-什麼是 SQL 注入
  • SQL 注入-産生 SQL 注入的原理
  • SQL 注入-SQL 注入帶來的危害有哪些
  • SQL 注入-GET 型 SQL 注入漏洞是什麼
  • SQL 注入-工具以及靶場
  • SQL 注入-POST 型 SQL 注入是什麼
  • SQL 注入-判斷 SQL 注入點
  • SQL 注入-回歸測試
  • SQL 注入-注入類型
  • SQL 注入-TIME-BASED 基于時間的盲注
  • SQL 注入-基于 USER-AGENT 注入
  • SQL 注入-基于 USER-AGENT 注入練習
  • SQL 注入-ERROR-BASED 基于報錯注入
  • SQL 注入-STACKED QUERIES 基于堆疊注入
  • SQL 注入-BYPASS 混淆繞過
  • SQL 注入-BYPASS WAF 繞過
  • SQL 注入-BYPASS WAF 繞過總結
  • SQL 注入- REMOTE CODE EXECUTION 遠端代碼執行
  • SQL 注入-SQLMAP 的使用
  • SQL 注入-SQLMAP 原理以及源碼閱讀
  • SQL 注入-SQLMAP 實戰 1-COOKIE 注入
  • SQL 注入-SQLMAP 實戰 2-USER-AGENT 注入
  • SQL 注入-SQLMAP 實戰 3-手動注入與 SQLMAP 對比
  • SQL 注入-SQLMAP 實戰 4-脫庫
  • SQL 注入-SQLMAP 進階應用
  • SQL 注入-如何防禦 SQL 注入

2.4XSS相關滲透與防禦

  • XSS 基本概念和原理介紹
  • 反射型 儲存型 DOM 型實戰
  • XSS 釣魚及盲打示範
  • XSS 平台搭建及 COOKIE 擷取
  • 反射型 XSS( POST) 擷取使用者密碼
  • XSS 擷取鍵盤記錄
  • XSS 防禦繞過
  • XSS 繞過之 HTMLSPECIALCHARS()函數
  • XSS 安全防禦

2.5上傳驗證滲透與防禦

  • 檔案上傳-基礎
  • 檔案上傳-場景
  • 檔案上傳-漏洞原理
  • 檔案上傳-上傳檔案代碼函數原理&上傳圖檔攔截
  • 檔案上傳-漏洞帶來的危害有哪些
  • 檔案上傳-一句話木馬
  • 檔案上傳-字尾用戶端驗證-JS 禁用&BURP 改包&本地送出
  • 檔案上傳-字尾黑名單驗證-大小寫&加空格&符号點&::$DATA
  • 檔案上傳-字尾白名單驗證-MIME 修改&%00 截斷&0X00 截斷
  • 檔案上傳-字尾變異性驗證-FINECMS 任意檔案上傳
  • 檔案上傳-檔案頭變異驗證-驗證 MIME
  • 檔案上傳-二次渲染
  • 檔案上傳-代碼邏輯&&條件競争
  • 檔案上傳-格式變異&中間接解析&.HTACCESS
  • 檔案上傳-如何避免檔案上傳漏洞

2.6檔案包含滲透與防禦

  • 中間日志包含繞過
  • PHP 包含讀寫檔案
  • STRREPLBE 函數繞過
  • 包含截斷繞過 FNM_TBH 函數繞過
  • 檔案包含漏洞防範措施

2.7CSRF滲透與防禦

  • CSRF 漏洞概述及原理;
  • CSRF 快速拖庫攻擊還原;
  • CSRF 管理者密碼修改還原;
  • CSRF 進行位址修改及釣魚攻擊還原;
  • CSRF 漏洞安全防範

2.8 SSRF滲透與防禦

  • SSRF 原理及尋找方法;
  • SSRF 攻防實戰及防範方法;

2.9 XXE滲透與防禦

  • XXE 基礎知識;
  • XXE CTF 考題
  • XXE CTF 考題測試以及漏洞修複
  • XXE 漏洞攻防測試
如何成為一名優秀的網絡安全工程師?

2.10 遠端代碼執行滲透與防禦

  • 遠端代碼執行原理介紹
  • PHP 遠端代碼執行常用函數示範
  • PHP 反序列化原理和案例示範
  • WEBLOGIC 反序列化攻防過程還原
  • STRUTS2 指令執行攻防過程還原
  • JBOSS 反序列化攻防過程還原
  • 遠端指令執行漏洞修複

2.11 反序列化滲透與防禦

  • 反序列化-什麼是反序列化操作
  • 反序列化-為什麼會出現安全漏洞
  • 反序列化-PHP 反序列化漏洞如何發現
  • 反序列化-PHP 反序列化漏洞如複現
  • 反序列化-CMS 審計-序列化考點
  • 反序列化-JAVA 反序列化漏洞發現利用點
  • 反序列化-JAVA 反序列化考點-真實環境&CTF
  • 反序列化-JAVA 反序 WEBGOAT&YSOSERIAL&PAYLOAD
  • 反序列化-如何避免反序列化漏洞

2.12 邏輯相關滲透與防禦

  • 邏輯漏洞概述;如何挖掘邏輯漏洞;
  • 交易支付中的邏輯問題;
  • 密碼修改邏輯漏洞;
  • 個人項目邏輯漏洞分享;
  • 邏輯漏洞修複;

2.13 暴力猜解與防禦

  • C/S 架構暴力猜解( 常用網絡、系統、資料庫、第三方應用密碼爆破)* * B/S 架構暴力猜解( 弱密碼)
  • HYDRA 安裝與使用暴力猜解安全防範

這裡可以參考下面這張成長路線圖:

如何成為一名優秀的網絡安全工程師?

我也整理了一些網安學習資料

部分内容展示

視訊教程

如何成為一名優秀的網絡安全工程師?

書籍資料

如何成為一名優秀的網絡安全工程師?

SRC資料包&HW護網行動

如何成為一名優秀的網絡安全工程師?
如何成為一名優秀的網絡安全工程師?

面試題資料

如何成為一名優秀的網絡安全工程師?

源碼&安裝包

如何成為一名優秀的網絡安全工程師?

需要以上所有籽料的話可以點選:《黑客&網絡安全入門&進階學習資源包》免費領取

1、很多已經買不到的絕版電子書 2、安全大廠内部的教育訓練資料 3、全套工具包 4、100份src源碼技術文檔 5、網絡安全基礎入門、Linux、web安全、攻防方面的視訊 6、應急響應筆記 7、 網絡安全學習路線 8、ctf奪旗賽解析 9、WEB安全入門筆記

最後,給大家整理了一個簡單的學習方法,可以借鑒:

1. 多看書

閱讀永遠是最有效的方法,盡管書籍并不一定是最好的入門方式,但書籍的了解需要一定的基礎;但是就目前來看,書籍是比較靠譜的入門資料。

例如:《黑客攻防---web安全實戰詳解》《Web前端黑客技術揭秘》《安全之路:Web滲透技術及實戰案例解析(第2版)》

現在Web安全書籍比較多,是以大家在學習的過程中可以少走了不少的彎路。如果以上推薦書籍閱讀有困難,那就找自己能看得進的 Web 安全的書。

當然紙上談兵終覺淺,不實踐一下怎麼好呢。

2.常用工具的學習

1.Burpsuite學習 Proxy 抓包改包學習 Intruder 爆破子產品學習實用 Bapp 應用商店中的插件2.Nmap使用 Nmap 探測目标主機所開放的端口使用 Nmap 探測目标主機的網絡服務,判斷其服務名稱及版本号3.SQLMap對 AWVS 中掃描出的 SQL 注入漏洞使用 SQLMap 進行資料擷取實踐常見漏洞類型的挖掘與利用方

3.學習開發

1.書籍《細說 PHP》

2.實踐使用 PHP 寫一個列目錄的腳本,可以通過參數列出任意目錄的清單使用 PHP 抓取一個網頁的内容并輸出使用 PHP 抓取一個網頁的内容并寫入到Mysql資料庫再輸出。

也可以找一個教育訓練班,系統的學習一下,都是可以的。

總結

以上就是我對剛入行網絡安全的朋友的一些個人的建議,最後有一點需要說明一下:

上面列舉到的不同方向的技術不是嚴格意義獨立的,相反,很多時候是相輔相成,需要結合起來,融會貫通。

每個人的認知是有限的,我也不例外。本文隻是我的一家之言,建議大家多看一些人的總結和經驗,橫向對比,兼聽則明,偏聽則暗。

網絡安全領域就像是一棵碩果累累的參天大樹,底下站着無數觀望者,他們都聲稱自己喜歡網絡安全,想上樹摘果,但面對時不時垂下來的藤枝,他們卻躊躇不前,猶豫不決。

實際上,隻要任意抓住一根藤枝,都能爬上這棵樹。 大部分人缺的,就是這麼一個開端。

如何成為一名優秀的網絡安全工程師?

需要網絡安全學習資料包可以點選:《黑客&網絡安全入門&進階學習資源包》免費分享

繼續閱讀