如何成爲一名合格的web安全工程師!

不誇張的說,網絡安全行業裏,WEB安全方向的人相對來說決定佔大頭,而web安全工程師又是其中不可缺少,想要成爲一名成功的web安全工程師,首先要知道職位要求,通常web安全工程師招聘時的能力要求如下:
招聘要求一:
1、熟悉常見Windows&linux、Web應用和數據庫各種***手段;
2、熟悉網絡安全測試方法、測試用例、漏洞判定準則;
3、有實際***測試經驗,熟悉***測試各種提權方法;
4、熟悉常見腳本語言,能夠進行WEB***測試,惡意代碼檢測和行爲分析;
5、熟悉常見Web高危漏洞(SQL注入、XSS、CSRF、WebShell等)原理及實踐,在各漏洞提交平臺實際提交過高風險漏洞優先;
6、熟練使用各種安全掃描,***工具,有豐富的安全***經驗並能能獨立完成***測試;
7、熟悉Web安全防護方法,瞭解常見各類WAF產品功能。有WAF部署經驗者優先;
8、掌握MySQL、MSSQL、Oracle、PostgreSQL等一種或多種主流數據庫結構以及特殊性;
9、有較強的敬業精神,善於與人溝通,具有良好的團隊意識,具有責任心,具有良好的抗壓能力,善於處理各類突發事件,善於學習新知識。

招聘要求二:
1.負責公司相關業務的安全評估及***測試,並提供解決方案2.負責公司相關業務代碼審計,挖掘漏洞並提供解決方案;
3.跟蹤並研究主流安全技術,並應用到公司相關業務中工作要求;
4.熟悉常見WEB漏洞及***方法,比如SQL注入、XSS、CSRF等;
5.熟悉常見WEB漏洞掃描工具的使用,比如WVS;
6.熟悉Windows、Linux平臺***測試和安全加固;
7.熟悉WAF功能,有WAF部署、使用、維護經驗者優先;
8.熟悉Java、PHP、ASPX、Javascript、HTML5等的一種或多種WEB程序語言;
9.具有Java、PHP白盒審計經驗者優先;
10.具有較強的團隊意識,高度的責任感,文檔、方案能力優秀者優先;

混跡於此圈的人想必也是非常清楚的,以上純屬多餘,莫見怪。
那麼我們要怎麼做呢?看看大神都是怎麼說的:

01環境的搭建
熟悉基本的虛擬機配置。
Kali linux,centos,Windows實驗虛擬機
自己搭建IIS和apache
部署php或者asp的網站
搭建Nginx反向代理網站
瞭解LAMP和LNMP的概念

02熟悉***相關工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan、Msf等相關工具的使用。
瞭解該類工具的用途和使用場景,先用軟件名字Google/SecWiki;
下載無後們版的這些軟件進行安裝;
學習並進行使用,具體教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
待常用的這幾個軟件都學會了可以安裝音速啓動做一個***工具箱;
瞭解msf的基礎知識,對於經典的08_067和12_020進行復現

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

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

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

06熟悉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***測試指南》。

07服務器安全配置
學習服務器環境配置,並能通過思考發現配置存在的安全問題。
Windows2003/2008環境下的IIS配置,特別注意配置安全和運行權限,可以參考:SecWiki-配置;
Linux環境下的LAMP的安全配置,主要考慮運行權限、跨目錄、文件夾權限等,可以參考:SecWiki-配置;
遠程系統加固,限制用戶名和口令登陸,通過iptables限制端口;
配置軟件Waf加強系統安全,在服務器配置ShareWAF、modsecurity等系統,ShareWAF(http://www.sharewaf.com/)簡單易用,小而美,推薦使用,modsecurity有些複雜,需要配大量規則,具體參見SecWiki-ModSecurity;
通過Nessus軟件對配置環境進行安全檢測,發現未知安全威脅。

08腳本編程學習
選擇腳本語言JS/Perl/Python/PHP/Go中的一種,對常用庫進行編程學習。
搭建開發環境和選擇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;

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

10安全體系設計與開發
能建立自己的安全體系,並能提出一些安全建議或者系統架構。
開發一些實用的安全小工具並開源,體現個人實力;
建立自己的安全體系,對公司安全有自己的一些認識和見解;
提出或者加入大型安全系統的架構或者開發;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章