引用來源 http://www.zhihu.com/question/21914899/answer/39344435 來源:知乎
html
Web安全相關概念
熟悉基本概念(SQL注入、上傳、XSS、CSRF、一句話木馬等)。
sql
經過關鍵字(SQL注入、上傳、XSS、CSRF、一句話木馬等)進行Google/SecWiki;數據庫
閱讀《精通腳本黑客》,雖然很舊也有錯誤,可是入門仍是能夠的;apache
看一些滲透筆記/視頻,瞭解滲透實戰的整個過程,能夠Google(滲透筆記、滲透過程、入侵過程等);編程
3周
熟悉滲透相關工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用。
安全
瞭解該類工具的用途和使用場景,先用軟件名字Google/SecWiki;服務器
下載無後們版的這些軟件進行安裝;網絡
待經常使用的這幾個軟件都學會了能夠安裝音速啓動作一個滲透工具箱;架構
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基本命令、經常使用工具;
熟悉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滲透測試指南》。
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周
安全體系設計與開發
能創建本身的安全體系,並能提出一些安全建議或者系統架構。
開發一些實用的安全小工具並開源,體現我的實力;
創建本身的安全體系,對公司安全有本身的一些認識和看法;
提出或者加入大型安全系統的架構或者開發;