照例審下題,題主說對滲透感興趣並且想真正搞 Web 滲透方面,在問題描述中提到「看了好多道哥的白帽子書和烏雲(知識庫)」,但感覺自己「瞎折騰了很久,沒啥收穫」。
這個情況其實並不是書籍或其他學習資源出了問題,而是你本身的學習路線與知識體系出了問題,爲什麼呢?
正所謂「 Web 安全滲透」,你剛入門就把重心放在後面的「安全滲透」,而不是前面的「Web」,脫離 Web 技術搞滲透,這就屬於典型的本末倒置。當然,這也是當前 90% 以上 Web安全/滲透測試 新人們剛入門時遇到的情況。
這裏順便做一次普及:Web 技術到底有哪些?
這裏我們先來舉個簡單的例子:
上圖是一個普通的不能再普通的上網模型,涉及到三個部分,第一部分就是左邊的”你“,第二部分就是連接通信雙方的互聯網,第三部分就是右邊的網站(以拼客學院爲例)。
當“你”訪問拼客學院時,從瀏覽器輸入網址到最終看到網頁,這個過程到底發生了什麼?
- 第一,瀏覽器將域名解析爲 IP 地址(這裏涉及到 DNS 域名解析技術)
- 第二,瀏覽器根據源目 IP 地址封裝 HTTP 請求包發送給網站拼客學院(這裏涉及到 HTTP/HTTPs 通信協議)
- 第三,網站拼客學院收到 HTTP 請求並解析,根據請求調用數據庫並返回資源(這裏涉及到 Web 後端開發 / 數據庫 / 容器 / 框架/ 操作系統等技術)
- 第四,網站資源包括網頁、文檔、音頻、視頻等,封裝爲 HTTP 響應包傳輸給瀏覽器(這裏仍然涉及到 HTTP/HTTPs 通信協議)
- 第五,瀏覽器收到拼客學院的 HTTP 響應包,調用前端技術進行解析並顯示給用戶(這裏涉及瀏覽器與 Web 前端開發技術)
千萬千萬不要小看上面的每個步驟,看上去感覺挺簡單,但其實每個步驟的背後又可以拆分爲 N 多個步驟。拿第三個步驟爲例,當網站收到 HTTP 請求後,到底是如何解析這個請求,並且又是如何調用數據庫資源的?這裏首先會涉及到後端開發技術中的 MVC/MTV 架構,如圖:
除此之外,在網站部署的時候還會涉及到 Web 容器、網關接口、靜態文件、負載均衡等模塊的處理,如圖:
上面這一次簡單的不能最簡單的 Web 訪問過程,其實就勾勒出一個複雜的 Web 技術生態。我們必須認識到:
- Web 技術不僅僅是 Web 前端開發技術(也指"網頁開發"技術)
- Web 技術不僅僅是 Web 後端開發技術(例如 “PHP網站開發” “Java網站開發” )
- Web 技術不僅僅是 互聯網通信技術(例如 DNS、HTTP、HTTPS 等)
……
我們可以用這張「 Web 技術架構圖」將所有涉及到 Web 技術串聯起來 =>
by 陳鑫傑老師
也就是說,要真正看懂道哥這本經典的《白帽子講 Web 安全》或者讀懂烏雲上的滲透測試案例,首先,你得掂量下,自己是否具備這些前置知識:
- 是否能夠從零開始搭建起一個網站?(網站架構)
- 是否瞭解過 HTTP 協議原理?例如用抓包軟件分析過 HTTP請求和響應包有什麼內容?(Web通信協議)
- 是否能看懂網頁源碼,或者用 HTML / CSS / JavaScript 做過前端頁面?(Web前端)
- 是否清楚什麼是 MVC/MTV 架構,或者用 Python / PHP / Java 做過後端架構?(Web後端 )
- 是否瞭解過常見的 Web容器/中間件,或者用過 Apache / Nginx / Tomcat?(Web容器)
- 是否掌握任一常見的數據庫技術,包括但不限於 MySQL / SQLsever / Oracle?(數據庫)
……
如果你真的掌握了以上這些 Web 技術,搞懂了網站前後端原理,甚至在代碼層面能親手開發出來。那麼,你再回去看相關安全書籍或案例就不會「沒啥收穫」,相反地,你一定能獲得這樣的學習體驗:
by 陳鑫傑老師
- 由於有 Web 前端語言基礎,那麼學 XSS 和 CSRF 漏洞會很快(客戶端安全)
- 由於有 Web 後端語言基礎,那麼會很快搞定 Webshell木馬、文件上傳、代碼執行等漏洞(服務端安全)
- 由於有 數據庫 SQL 語言基礎,那麼你學 SQL 注入漏洞或者搞手工注入會感到輕而易舉(數據庫安全)
……
總而言之,我們要真正學懂學通「Web 安全滲透」,一定需要一個科學合理、循序漸進、第一原理驅動的學習路線,千萬不要「瞎折騰」,不要急着學「滲透」,更不要一上來就用「工具」。因爲 Web 安全滲透技術,首先是建立在 Web 技術之上的,繞開這些技術談安全談滲透,那便是 "空中樓閣"。
因此,如果你真正熱愛安全技術,目標是一名合格的白帽子黑客,甚至希望未來從事網絡空間安全相關職位,那麼,前期潛心花費幾個月的時間,把這些未來幹活必定會用到的技能耐心打磨好,是不是穩賺不賠的?畢竟,大學讀 4 年也未必能讓你找到工作。
--- 以下才是正文---
那麼,更科學合理的 Web 安全滲透學習路線應該是怎樣的呢?
考慮到題主是一個新手,因此,接下來我會帶領你一起來制定這條路線:
《 100 天晉升 Web 安全工程師/滲透測試工程師學習路線圖》(知乎視頻解讀版,戳這裏。)
by 陳鑫傑老師
所謂「授之以魚不如授之以漁」,本學習路線圖中我會告訴你每個階段需要學什麼、爲什麼要學這些、需要花費多少時間、學完之後要達到的目標。
更重要的是,本學習路線圖提到的所有技術內容和推薦資源,都可以通過搜索引擎免費找到,包括書籍、文章、教程、工具等等。因此,只要足夠耐心,即便 0 基礎,按照這個路線圖,堅持學習 100 天,你也能夠通過自學的方式掌握這些技術。
注:100 天是我個人推薦的學習週期,結合了我自己在拼客學院多年的安全教育經驗(始於2013年),從企業僱主和學員們的各個數據反饋綜合得出。因此,這個週期未必適合每一個人,你可以根據自身情況來動態調整。
接下來,我們對這張路線圖進行階段拆解,分爲學習導論、技能清單、工具軟件、學習資源、學習週期等方面詳細展開 =>
第 1 階段 Web 技術入門
1.0 學習導論
此階段,我們的學習目標是瞭解網絡安全行業的法律法規 / 學習方法 / 求職目標,搭建屬於自己的博客 / 論壇 / 網站(成爲一名站長)、掌握 Web 技術架構、搞懂瀏覽器和網站之間的通信原理。
1.1 技能清單
Web 安全導論
- 法律法規
- 行業趨勢
- 安全標準
- 學習指南
Web 網站實戰
- Web 建站指南(WordPress在線建站)
- XMAPP 原理與實踐(Web集成環境解讀)
- XAMPP 安裝 WordPress
- Joomla 介紹與安裝
- Discuz 介紹與安裝
- Dedecms 介紹與安裝
HTTP 原理與實踐
- HTTP 協議概述
- HTTP 請求響應
- HTTP 請求方法
- HTTP 響應方法
- HTTP 消息報文之請求報文
- HTTP 消息報文之響應報文
- HTTP 消息報文之通用報文
- HTTP 消息報文之實體報文
1.2 工具軟件
- 網站運行環境
- Xampp / PHPstudy / WAMP / MAMP(任選一個)
- Bitnami
- PhpMyAdmin
- CMS 程序包
- WordPress
- Joomla
- Discuz
- Dedecms
- 抓包調試
- Postman
- Npcap
- Wireshark
1.3 學習資源
1.4 學習週期
- 推薦 1 周
第 2 階段 Web 前端開發
2.0 學習導論
此階段,我們的學習目標是掌握 Web 前端開發技術,學習 HTML、CSS、JavaScript 編程語言,能獨立製作 Web商業級頁面。
2.1 技能清單
- HTML 編程原理與實踐
- WebStorm使用
- HTML 入門
- HTML 標題
- HTML 頭部
- HTML 段落
- HTML 文本
- HTML 鏈接
- HTML 列表
- HTML 表格
- HTML 佈局
- HTML 項目
- CSS 編程原理與實踐
- CSS 入門
- CSS 選擇器
- CSS 背景
- CSS 文本
- CSS 字體
- CSS 鏈接
- CSS 盒模型
- CSS 定位
- CSS 浮動
- CSS 項目
- JavaScript 編程原理與實踐
- JavaScript 簡介
- JavaScript 基礎
- JavaScript 變量
- JavaScript 數字
- JavaScript 字符串
- JavaScript 數組
- JavaScript 詞典
- JavaScript 流程控制
- JavaScript 流程控制
- JavaScript 函數
- JavaScript DOM基礎
- JavaScript DOM事件
- JavaScript BOM事件
- JavaScript 項目
2.2 工具軟件
- Webstorm
- Sublime Text
2.3 學習資源
2.4 學習週期
- 推薦 2 ~ 3 周
第 3 階段 Web 後端開發
3.0 學習導論
此階段,我們的學習目標是掌握 Web 後端開發,學習 Python 編程與 Django Web 開發框架,掌握 MySQL 數據庫原理與操作。從零開始獨立開發一個 Web 網站,並基於 LNMP 架構在 CentOS 服務器上進行部署。
這裏要特別強調下,後端技術涉及的編程語言、Web框架、數據庫、中間件、操作系統等技術衆多,作爲新手,可以遵循一個原則,即「深入某個技術棧,橫向擴展其他」。
例如,在這個路線圖裏面,我們選擇 Python/Django 作爲後端學習的技術棧,因爲相比 Java 或 PHP,Python 對於新手而言更加友好,代碼簡潔且語法清晰。不僅如此,由於衆多安全工具和測試代碼基於 Python 開發,其也被稱爲黑客或網絡安全領域的第一語言。
當我們完成了 Python / Django 的學習之後,後續也可以再橫向拓展到 PHP/Thinkphp 或 Java/Spring 等後端技術棧,這樣才能更好的勝任 Web 安全測試工作。
3.1 技能清單
Python 編程原理與實踐
- Python 導論入門
- Python 環境安裝
- Python 對象類型
- Python 流程控制
- Python 函數模塊
- Python 面向對象
- Python 輸入輸出
- Python 異常處理
Django Web 項目開發實戰
- Django 框架入門
- Django 環境安裝
- Django 項目搭建
- Django ORM
- Django Models
- Django Views
- Django Template
- Django Blog 項目
- 網站部署上線
3.2 工具軟件
- PyCharm
- Navicat
- MySQL
3.3 學習資源
- 推薦網站
- 推薦書籍
- 《 Python 核心編程 》
- 《 Python 學習手冊 》
- 《 笨方法學 Python 》
- 《 輕量級 Django 》
- 《 Django Book 》
3.4 學習週期
- 推薦 3 ~ 4 周
第 4 階段 Web 安全滲透
4.0 學習導論
此階段,我們的學習目標是:
- 熟練 Kail Linux 滲透測試原理與實踐,包括信息蒐集、漏洞掃描、漏洞利用、後門維持等。
- 熟練 Web 安全攻防實驗室搭建與靶機使用,包括 OWASP BWA、DVWA、Mutillidae II、PentesterLab 等。
- 熟練OWASP TOP10 等 Web 漏洞原理與利用,包括 SQL 注入、文件上傳、文件包含、Webshell木馬編寫、命令執行、XSS跨站腳本攻擊、CSRF跨站僞造請求等。
- 熟練編程開發與滲透測試等超 40 種常用工具使用,包括但不限於 BurpSuite、SQLmap、Wireshark、Metasploit、Nmap、Nessus、OpenVas、AppScan、AWVS、ZAP、Havij、Postman、Pangolin、Cknife、Weevely、Jexboss、Tamper、Xampp、edjpgcom、Google Devtools、PyCharm、WebStorm、Navicat、SET、Meterpreter、Shodan、Dirbuster、BeEF、WPscan、Joomscan、httpprint、Whatweb、Layer子域名、御劍後臺、中國菜刀等。
- 熟悉CTF靶機滲透測試實戰,通過CTF4、CTF6、CTF7等攻防實踐,真正掌握黑盒測試、攻擊鏈、紅隊等一系列方法。
- 熟悉Windows與Linux常見漏洞復現實踐,包括CVE-2017-7494-SambyCry遠程代碼執行、CVE-2017-16995-Ubuntu16.04本地提權、MS17-010-永恆之藍-Windows提權等。
4.1 技能清單
Web安全滲透之實驗室搭建
- Kali Linux
- OWASP BWA
- PentesterLab
- Windows
- ……
Web安全滲透之信息蒐集
- 搜索引擎 Google Hacking
- 搜索引擎 Shodan Hacking
- 搜索引擎 Zoomeye Hacking
- 目標掃描 Nmap 簡介-命令行操作
- 目標掃描 Nmap 圖形化操作(Zenmap)
- 目標掃描 Nmap 圖形化操作(Zenmap)
- 目標掃描 OpenVAS
- 域名遍歷 Dirbuster
- 域名遍歷御劍後臺-Layer子域名
- 指紋識別 Whatweb
- 指紋識別 httprint
- ……
Web安全滲透之漏洞掃描
- Web漏掃原理與工具介紹
- BurpSuite入門與安裝
- BurpSuite代理功能
- BurpSuite目標功能
- BurpSuite爬蟲功能
- BurpSuite掃描功能
- BurpSuite入侵功能
- BurpSuite輔助功能
- BurpSuite+CO2實現SQL注入攻擊
- AWVS入門與安裝
- AWVS Web Scanner掃描功能
- AWVS 站點爬取-目標查找-子域名查找
- AWVS SQL盲注-HTTP編輯-嗅探-模糊測試
- AWVS HTTP表單破解-任務計劃-Web服務掃描
- Appscan入門與安裝
- Appscan掃描執行-漏洞說明-修復任務
- Appscan保存掃描-導出報告-掃描配置
- Appscan手工探索-手工測試-調度程序
- Appscan PowerTools - 表單破解
- OWASP ZAP入門與安裝
- OWASP ZAP主動掃描
- OWASP ZAP掃描報告-攔截代理-插件使用
- OWASP ZAP模糊測試-編碼解碼
- WPscan-Joomscan
- ……
Web安全滲透之SQL注入與防禦
- SQL注入漏洞原理-影響-分類
- 數據庫原理-SQL語句講解-CRUD操作
- 數據庫原理-數據表建立-注入流程
- 手工注入-錯誤-布爾-Union注入
- 手工注入-Union注入-時間盲注
- 自動化注入-SQLmap入門與使用
- 自動化注入-SQLmap GET注入詳解
- 自動化注入-SQLmap POST注入-帶參數cookie注入
- 自動化注入-SQLmap混淆-代理-高級注入
- 自動化注入-SQLmap數據獲取-提取操作
- 自動化注入-SQLmap實戰案例
- 自動化注入-Havij使用詳解
- 自動化注入-Havij實戰案例
- 自動化注入-Pangolin使用詳解
- SQL注入安全防禦思路
- ……
Web安全滲透之文件上傳攻擊與防禦
- 文件上傳漏洞原理
- 低安全級別漏洞利用-上傳Webshell-繞過大小限制
- 中安全級別漏洞利用-繞過文件類型限制實現任意文件上傳
- 高安全級別漏洞利用-上傳一句話圖片木馬
- Webshell 原理-一句話木馬代碼解讀
- Webshell 實戰-中國菜刀(China Chopper)
- Webshell 實戰-C刀(Cknife)
- Webshell 實戰-一句話圖片木馬原理與製作(edjpgcom-cmd製作)
- Webshell 實戰-XISE寄生蟲
- Webshell 實戰-Weevely
- 文件上傳漏洞安全防禦思路
- ……
Web安全滲透之文件包含攻擊與防禦
- 文件包含漏洞原理
- 本地文件包含(LFI)
- 遠程文件包含(LFI)
- 本地文件包含結合文件上傳webshell
- 遠程文件包含結合webshell
- 中高安全級別繞過分析
- 文件包含安全防禦思路
- ……
Web安全滲透之命令執行攻擊與防禦
- 命令執行漏洞原理-低安全級別漏洞利用
- 命令執行漏洞原理-中高安全級別漏洞利用
- 命令執行漏洞原理-Apache Struts2遠程命令執行實戰案例
- 命令執行防禦思路
- ……
Web安全滲透之 XSS 攻擊與防禦
- XSS 跨站腳本攻擊原理-分類-危害
- 反射型 XSS-低安全級別-彈框-重定向-cookie獲取及利用(tamper data)
- 反射型 XSS-中安全級別-大小寫-混淆寫法繞過
- 存儲型 XSS-低安全級別-彈框告警-cookie獲取
- 存儲型 XSS-中高級別分析及cookie獲取
- 自動化攻擊- BeEF 入門簡介
- 自動化攻擊- BeEF 基礎使用(初始啓動-腳本解讀-服務管理)
- 自動化攻擊- BeEF 信息收集(瀏覽器重定向-鏈接修改-彈框-主機-網絡)
- 自動化攻擊- BeEF 持久化控制-與Metasploit結合實現滲透測試
- 自動化攻擊- BeEF 社會工程學攻擊(點擊劫持-谷歌Facebook網頁釣魚-虛假更新)
- XSS 跨站腳本攻擊-安全防禦思路
- ……
Web安全滲透之 CSRF 攻擊與防禦
- CSRF跨站請求僞造原理-會話機制(Cookie和Session)
- CSRF跨站請求僞造-BeEF-XSS實現CSRF攻擊(GET方法實現管理員密碼修改)
- CSRF跨站請求僞造-BeEF-Burp實現CSRF攻擊(POST方法實現信息提交)
- CSRF跨站請求僞造-安全防禦思路(二次認證-Token認證-Refer頭部檢測)
- ……
高級滲透測試系列
- 網絡服務滲透之 Windows 常用服務
- 網絡服務滲透攻擊 之 Linux 常用服務
- 客戶端滲透之 Adobe PDF 滲透
- 客戶端滲透之 Office Word滲透
- 社會工程學之僞裝木馬
- 社會工程學之網站釣魚
- 自動化滲透 - 後滲透
- ……
CTF 靶機滲透實戰系列
- 從零開始認識 CTF 奪旗賽
- CTF 賽事題目解析
- 快速拿下 WordPress 靶機
- 一步一步教你拿下 CTF 4 靶機
- 一步一步教你拿下 CTF 6 靶機
- 一步一步教你拿下 CTF 7 靶機
- ……
4.2 工具軟件
- 信息蒐集
- 搜索引擎(Google/Shadan hacking)
- 目標掃描(Nmap、OpenVAS)
- 指紋識別(whatweb、Appprint、御劍指紋識別)
- 域名/目錄/後臺/暴破(DirBuster、御劍、Layer子域名挖掘機)
- 漏洞掃描
- BurpSuite
- AWVS
- Appscan
- ZAP
- WPscan
- Joomscan
- SQL注入漏洞
- SQLmap
- Pangolin
- Havij
- Discuz注入漏洞利用exp
- XSS/CSRF漏洞
- BeEF
- 文件上傳
- 中國菜刀
- Cknife
- edjpgcom
- 一句話圖片木馬
- XISE WBMS
- Weevely
- 命令執行
- Struts2漏洞利用exp
4.3 學習資源
- 推薦書籍
- 《 Kali Linux 滲透測試學習清單 》
- 《 白帽子講 Web 安全 》
- 《 Web 安全深度剖析 》
- 《 Metaspolit 滲透測試魔鬼訓練營 》
- 《 Web 前端安全揭祕 》
- 《 黑客攻防技術寶典 Web 實戰篇 》
- 《 SQL 注入攻擊與防禦 》
- 《 XSS 跨站腳本攻擊剖析與防禦 》
- ……
4.4 學習週期
- 推薦 5 ~ 6 周
本答案終於結束啦~ (後續有空再上來更新)
【推薦知乎文章】by @拼客學院陳鑫傑
- 零基礎如何成爲一名合格的黑客?
- [福利貼] 全網最強18套網絡安全公開課彙總,與200萬人一起學!
- [冇眼睇]揭祕地下色情誘導網站,上車吧!
- 網絡安全入坑指南|行業|求職|學習|書單|薪酬|路徑
- 信息安全專業的學生應該如何進入該行業?
【推薦知乎視頻】by @拼客學院陳鑫傑
- 信息安全發展趨勢與職業規劃
- 零基礎如何入門網絡安全-Web安全-滲透測試?
- Web安全工程師-滲透測試-白帽子黑客學習路線圖
- 大型考研詐騙犯罪溯源 - 陳鑫傑老師攜手深圳網警破獲詐騙團伙
- 非法卡盟網站犯罪溯源 - 互聯網黑灰產案例講解
- Kali Linux 滲透測試入門導論 - 白帽子黑客神兵利器系列
- Shodan撒旦黑暗搜索引擎實戰指南 - 社會工程學必備技能
- Nmap 最強悍的端口掃描器 - 白帽子黑客神兵利器系列
- WiFi無線安全攻防-無線黑客揭祕幽靈魅影下的十面埋伏
【公益訓練營】by @拼客學院陳鑫傑
Web安全工程師
- Web安全相關概念
熟悉基本概念(SQL注入、上傳、XSS、CSRF、一句話木馬等)。- 通過關鍵字(SQL注入、上傳、XSS、CSRF、一句話木馬等)進行Google/SecWiki;
- 閱讀《精通腳本黑客》,雖然很舊也有錯誤,但是入門還是可以的;
- 看一些滲透筆記/視頻,瞭解滲透實戰的整個過程,可以Google(滲透筆記、滲透過程、入侵過程等);
- 3周
熟悉滲透相關工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用。 - 5周
滲透實戰操作
掌握滲透的整個階段並能夠獨立滲透小型站點。- 網上找滲透視頻看並思考其中的思路和原理,關鍵字(滲透、SQL注入視頻、文件上傳入侵、數據庫備份、dedecms漏洞利用等等);
- 自己找站點/搭建測試環境進行測試,記住請隱藏好你自己;
- 思考滲透主要分爲幾個階段,每個階段需要做那些工作,例如這個:PTES滲透測試執行標準;
- 研究SQL注入的種類、注入原理、手動注入技巧;
- 研究文件上傳的原理,如何進行截斷、雙重後綴欺騙(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,參照:上傳攻擊框架;
- 研究XSS形成的原理和種類,具體學習方法可以Google/SecWiki,可以參考:XSS;
- 研究Windows/Linux提權的方法和具體使用,可以參考:提權;
- 可以參考: 開源滲透測試脆弱系統;
- 1周
關注安全圈動態
關注安全圈的最新漏洞、安全事件與技術文章。- 通過SecWiki瀏覽每日的安全技術文章/事件;
- 通過Weibo/twitter關注安全圈的從業人員(遇到大牛的關注或者好友果斷關注),天天抽時間刷一下;
- 通過feedly/鮮果訂閱國內外安全技術博客(不要僅限於國內,平時多注意積累),沒有訂閱源的可以看一下SecWiki的聚合欄目;
- 養成習慣,每天主動提交安全技術文章鏈接到SecWiki進行積澱;
- 多關注下最新漏洞列表,推薦幾個:exploit-db、CVE中文庫、Wooyun等,遇到公開的漏洞都去實踐下。
- 關注國內國際上的安全會議的議題或者錄像,推薦SecWiki-Conference。
- 3周
熟悉Windows/Kali Linux
學習Windows/Kali Linux基本命令、常用工具; - 3周
服務器安全配置
學習服務器環境配置,並能通過思考發現配置存在的安全問題。- Windows2003/2008環境下的IIS配置,特別注意配置安全和運行權限,可以參考:SecWiki-配置;
- Linux環境下的LAMP的安全配置,主要考慮運行權限、跨目錄、文件夾權限等,可以參考:SecWiki-配置;
- 遠程系統加固,限制用戶名和口令登陸,通過iptables限制端口;
- 配置軟件Waf加強系統安全,在服務器配置mod_security等系統,參見SecWiki-ModSecurity;
- 通過Nessus軟件對配置環境進行安全檢測,發現未知安全威脅。
- 4周
腳本編程學習
選擇腳本語言Perl/Python/PHP/Go/Java中的一種,對常用庫進行編程學習。- 搭建開發環境和選擇IDE,PHP環境推薦Wamp和XAMPP,IDE強烈推薦Sublime,一些Sublime的技巧:SecWiki-Sublime;
- Python編程學習,學習內容包含:語法、正則、文件、網絡、多線程等常用庫,推薦《Python核心編程》,不要看完;
- 用Python編寫漏洞的exp,然後寫一個簡單的網絡爬蟲,可參見SecWiki-爬蟲、視頻;
- PHP基本語法學習並書寫一個簡單的博客系統,參見《PHP與MySQL程序設計(第4版)》、視頻;
- 熟悉MVC架構,並試着學習一個PHP框架或者Python框架(可選);
- 瞭解Bootstrap的佈局或者CSS,可以參考:SecWiki-Bootstrap;
- 3周
源碼審計與漏洞分析
能獨立分析腳本源碼程序並發現安全問題。- 熟悉源碼審計的動態和靜態方法,並知道如何去分析程序,參見SecWiki-審計;
- 從Wooyun上尋找開源程序的漏洞進行分析並試着自己分析;
- 瞭解Web漏洞的形成原因,然後通過關鍵字進行查找分析,參見SecWiki-代碼審計、高級PHP應用程序漏洞審覈技術;
- 研究Web漏洞形成原理和如何從源碼層面避免該類漏洞,並整理成checklist。
- 5周
安全體系設計與開發
能建立自己的安全體系,並能提出一些安全建議或者系統架構。- 開發一些實用的安全小工具並開源,體現個人實力;
- 建立自己的安全體系,對公司安全有自己的一些認識和見解;
- 提出或者加入大型安全系統的架構或者開發;
- 看自己發展咯~