Web 安全滲透方面的學習路線?

照例審下題,題主說對滲透感興趣並且想真正搞 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 學習資源

  • 推薦網站
  • 推薦書籍
    • 《 W3school 網站建設教程》
    • 《圖解 HTTP 》

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 學習資源

  • 推薦網站
  • 推薦書籍
    • 《 W3school 前端教程合集》
    • 《 HTML5 與 CSS3 基礎教程》(圖靈出版)
    • 《 JavaScript 基礎教程》(圖靈出版)

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 學習資源

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 @拼客學院陳鑫傑

 

【推薦知乎視頻】by @拼客學院陳鑫傑

 

【公益訓練營】by @拼客學院陳鑫傑

Web安全工程師

  • Web安全相關概念
    熟悉基本概念(SQL注入、上傳、XSS、CSRF、一句話木馬等)。
    1. 通過關鍵字(SQL注入、上傳、XSS、CSRF、一句話木馬等)進行Google/SecWiki;
    2. 閱讀《精通腳本黑客》,雖然很舊也有錯誤,但是入門還是可以的;
    3. 看一些滲透筆記/視頻,瞭解滲透實戰的整個過程,可以Google(滲透筆記、滲透過程、入侵過程等);
  • 3周

    熟悉滲透相關工具
    熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用。
    1. 瞭解該類工具的用途和使用場景,先用軟件名字Google/SecWiki;
    2. 下載無後們版的這些軟件進行安裝;
    3. 學習並進行使用,具體教材可以在SecWiki上搜索,例如:Brup的教程sqlmap
    4. 待常用的這幾個軟件都學會了可以安裝音速啓動做一個滲透工具箱;
  • 5周

    滲透實戰操作
    掌握滲透的整個階段並能夠獨立滲透小型站點。
    1. 網上找滲透視頻看並思考其中的思路和原理,關鍵字(滲透、SQL注入視頻、文件上傳入侵、數據庫備份、dedecms漏洞利用等等);
    2. 自己找站點/搭建測試環境進行測試,記住請隱藏好你自己;
    3. 思考滲透主要分爲幾個階段,每個階段需要做那些工作,例如這個:PTES滲透測試執行標準
    4. 研究SQL注入的種類、注入原理、手動注入技巧;
    5. 研究文件上傳的原理,如何進行截斷、雙重後綴欺騙(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,參照:上傳攻擊框架
    6. 研究XSS形成的原理和種類,具體學習方法可以Google/SecWiki,可以參考:XSS
    7. 研究Windows/Linux提權的方法和具體使用,可以參考:提權
    8. 可以參考: 開源滲透測試脆弱系統
  • 1周

    關注安全圈動態
    關注安全圈的最新漏洞、安全事件與技術文章。
    1. 通過SecWiki瀏覽每日的安全技術文章/事件;
    2. 通過Weibo/twitter關注安全圈的從業人員(遇到大牛的關注或者好友果斷關注),天天抽時間刷一下;
    3. 通過feedly/鮮果訂閱國內外安全技術博客(不要僅限於國內,平時多注意積累),沒有訂閱源的可以看一下SecWiki的聚合欄目
    4. 養成習慣,每天主動提交安全技術文章鏈接到SecWiki進行積澱;
    5. 多關注下最新漏洞列表,推薦幾個:exploit-dbCVE中文庫Wooyun等,遇到公開的漏洞都去實踐下。
    6. 關注國內國際上的安全會議的議題或者錄像,推薦SecWiki-Conference
  • 3周

    熟悉Windows/Kali Linux
    學習Windows/Kali Linux基本命令、常用工具;
    1. 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
    2. 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
    3. 熟悉Kali Linux系統下的常用工具,可以參考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
    4. 熟悉metasploit工具,可以參考SecWiki、《Metasploit滲透測試指南》。
  • 3周

    服務器安全配置
    學習服務器環境配置,並能通過思考發現配置存在的安全問題。
    1. Windows2003/2008環境下的IIS配置,特別注意配置安全和運行權限,可以參考:SecWiki-配置
    2. Linux環境下的LAMP的安全配置,主要考慮運行權限、跨目錄、文件夾權限等,可以參考:SecWiki-配置
    3. 遠程系統加固,限制用戶名和口令登陸,通過iptables限制端口;
    4. 配置軟件Waf加強系統安全,在服務器配置mod_security等系統,參見SecWiki-ModSecurity
    5. 通過Nessus軟件對配置環境進行安全檢測,發現未知安全威脅。
  • 4周

    腳本編程學習
    選擇腳本語言Perl/Python/PHP/Go/Java中的一種,對常用庫進行編程學習。
    1. 搭建開發環境和選擇IDE,PHP環境推薦WampXAMPP,IDE強烈推薦Sublime,一些Sublime的技巧:SecWiki-Sublime
    2. Python編程學習,學習內容包含:語法、正則、文件、網絡、多線程等常用庫,推薦《Python核心編程》,不要看完
    3. 用Python編寫漏洞的exp,然後寫一個簡單的網絡爬蟲,可參見SecWiki-爬蟲視頻
    4. PHP基本語法學習並書寫一個簡單的博客系統,參見《PHP與MySQL程序設計(第4版)》、視頻
    5. 熟悉MVC架構,並試着學習一個PHP框架或者Python框架(可選);
    6. 瞭解Bootstrap的佈局或者CSS,可以參考:SecWiki-Bootstrap;
  • 3周

    源碼審計與漏洞分析
    能獨立分析腳本源碼程序並發現安全問題。
    1. 熟悉源碼審計的動態和靜態方法,並知道如何去分析程序,參見SecWiki-審計
    2. 從Wooyun上尋找開源程序的漏洞進行分析並試着自己分析;
    3. 瞭解Web漏洞的形成原因,然後通過關鍵字進行查找分析,參見SecWiki-代碼審計高級PHP應用程序漏洞審覈技術
    4. 研究Web漏洞形成原理和如何從源碼層面避免該類漏洞,並整理成checklist。
  • 5周

    安全體系設計與開發
    能建立自己的安全體系,並能提出一些安全建議或者系統架構。
    1. 開發一些實用的安全小工具並開源,體現個人實力;
    2. 建立自己的安全體系,對公司安全有自己的一些認識和見解;
    3. 提出或者加入大型安全系統的架構或者開發;
    4. 看自己發展咯~
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章