學習Web安全需要掌握Web安全相關概念、滲透測試相關工具、滲透實戰操作、熟悉Windows/Kali Linux、中間件和服務器的安全配置、腳本編程學習、源碼審計與漏洞分析、安全體系設計與開發等等。
簡單做壹個學習規劃:
第壹步:Web安全相關概念
建議學習時間:2周
學習內容如下:
1、熟悉基本概念(SQL註入、上傳、XSS、CSRF、壹句話木馬等)。
2、通過關鍵字(SQL註入、上傳、XSS、CSRF、壹句話木馬等)進行Google。
3、閱讀《Web安全深度剖析》,作為入門學習還是可以的。
4、看壹些滲透筆記/視頻,了解滲透實戰的整個過程,可以Google(滲透筆記、滲透過程、入侵過程等)。
第二步:熟悉滲透相關工具
建議學習時間:3周
學習內容如下:
1、熟悉AWVS、Sqlmap、Burpsuite、Nessus、China chopper 、Nmap、Appscan等相關工具的使用。
2、了解該類工具的用途和使用場景。
3、下載無後門版的這些軟件進行安裝。
4、學習並進行使用,具體教材可以在網上搜索,例如:Burpsuite的教程、Sqlmap。
5、常用的這幾個軟件都學會後,可以安裝音速啟動做壹個滲透工具箱
第三步:滲透實戰操作
建議學習時間:5周
學習內容如下:
1、掌握滲透的整個階段並能夠獨立滲透小型站點。
2、網上找滲透視頻看並思考其中的思路和原理,關鍵字(滲透、SQL註入視頻、文件上傳入侵、數據庫備份、Dedecms漏洞利用等等)。
3、自己找站點/搭建測試環境進行測試,記住請隱藏好妳自己。
4、思考滲透主要分為幾個階段,每個階段需要做哪些工作,例如這個:PTES滲透測試執行標準。
5、研究SQL註入的種類、註入原理、手動註入技巧。
6、研究文件上傳的原理,如何進行截斷、解析漏洞利用等,參照:上傳攻擊框架。
7、研究XSS形成的原理和種類,具體學習方法可以Google。
8、研究Windows/Linux提權的方法和具體使用,可以參考:提權。
9、可以參考: 開源滲透測試脆弱系統。
第四步:關註安全圈動態
建議學習時間:1周
學習內容如下:
1、關註安全圈的最新漏洞、安全事件與技術文章。
2、瀏覽每日的安全技術文章/事件。
3、通過微博、微信關註安全圈的從業人員(遇到大牛的關註或者好友果斷關註),天天抽時間刷壹下。
4、通過feedly/鮮果訂閱國內外安全技術博客(不要僅限於國內,平時多註意積累)。
5、養成習慣,每天主動提交安全技術文章鏈接到i春秋社區進行積澱。
6、多關註下最新漏洞列表,可以看看春秋 雲境.com,遇到公開的漏洞都去實踐下。
7、關註國內國際上的安全會議的議題或者錄像。
8、加入技術交流群,與群內大佬們討教壹些經驗和技巧。
第五步:熟悉Windows/Kali Linux
建議學習時間:3周
學習內容如下:
1、學習Windows/Kali Linux基本命令、常用工具。
2、熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等。
3、熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等。
4、熟悉Kali Linux系統下的常用工具,可以參考《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等。
5、熟悉metasploit工具,可以參考《Metasploit滲透測試指南》。
第六步:中間件和服務器的安全配置
建議學習時間:3周
學習內容如下:
1、學習服務器環境配置,並能通過思考發現配置存在的安全問題。
2、Windows server2012環境下的IIS配置,特別註意配置安全和運行權限。
3、Linux環境下的LAMP的安全配置,主要考慮運行權限、跨目錄、文件夾權限等。
4、遠程系統加固,限制用戶名和口令登陸,通過iptables限制端口;配置軟件Waf加強系統安全,在服務器配置mod_security等系統。
5、通過Nessus軟件對配置環境進行安全檢測,發現未知安全威脅。
第七步:腳本編程學習
建議學習時間:4周
學習內容如下:
1、選擇腳本語言:Perl/Python/PHP/Go/Java中的壹種,對常用庫進行編程學習。
2、搭建開發環境和選擇IDE,PHP環境推薦Wamp和XAMPP,IDE強烈推薦Sublime。
3、Python編程學習,學習內容包含:語法、正則、文件、網絡、多線程等常用庫,推薦《Python核心編程》。
4、用Python編寫漏洞的exp,然後寫壹個簡單的網絡爬蟲。
5、PHP基本語法學習並書寫壹個簡單的博客系統,參見《PHP與MySQL程序設計(第4版)》、視頻。
6、熟悉MVC架構,並試著學習壹個PHP框架或者Python框架(可選)。
7、了解Bootstrap的布局或者CSS。
第八步:源碼審計與漏洞分析
建議學習時間:3周
學習內容如下:
1、能獨立分析腳本源碼程序並發現安全問題。
2、熟悉源碼審計的動態和靜態方法,並知道如何去分析程序。
3、了解Web漏洞的形成原因,然後通過關鍵字進行查找分析。
4、研究Web漏洞形成原理和如何從源碼層面避免該類漏洞,並整理成checklist。
學習地址:i春秋官網(企安殿)
第九步:安全體系設計與開發
建議學習時間:5周
學習內容如下:
1、能建立自己的安全體系,並能提出壹些安全建議或者系統架構。
2、開發壹些實用的安全小工具並開源,體現個人實力。
3、建立自己的安全體系,對公司安全有自己的壹些認識和見解。
4、提出或者加入大型安全系統的架構或者開發。