Web安全工程師長成技能表
職位描述:
- 對公司網站、業務系統進行安全評估測試(黑盒、白盒測試);
- 對公司各類系統進行安全加固;
- 對公司安全事件進行響應,清理後門,根據日誌分析攻擊途徑;
- 安全技術研究,包括安全防範技術,黑客技術等;
- 跟蹤最新漏洞資訊,進行業務產品的安全檢查。
職位要求:
- 熟悉主流的Web安全技術,包括SQL隱碼攻擊、XSS、CSRF、一句話木馬等安全風險;
- 熟悉國內外主流安全產品和工具,如:Nessus、Nmap、AWVS、Burp、Appscan等;
- 熟悉windows、linux平臺滲透測試、後門分析、加固;
- 至少掌握一門程式語言C/C++/Perl/Python/PHP/Go/Java等;
- 熟悉滲透測試的步驟、方法、流程,具有Web安全實戰經驗;
- 熟悉常見安全攻防技術,對網路安全、系統安全、應用安全有深入的理解和自己的認識;
- 對Web安全整體有深刻理解,具備程式碼審計和獨立漏洞挖掘能力;
- 具有較強的團隊意識,高度的責任感,文件、方案能力優秀者優先。
學習路線:
Web安全相關概念(2周)
- 熟悉基本概念(SQL隱碼攻擊、上傳、XSS、CSRF、一句話木馬等)。
- 通過關鍵字(SQL隱碼攻擊、上傳、XSS、CSRF、一句話木馬等)進行Google/SecWiki;
- 閱讀《精通指令碼黑客》,雖然很舊也有錯誤,但是入門還是可以的;
- 看一些滲透筆記/視訊,瞭解滲透實戰的整個過程,可以Google(滲透筆記、滲透過程、入侵過程等);
熟悉滲透相關工具(3周)
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用。
瞭解該類工具的用途和使用場景,先用軟體名字Google/SecWiki;
下載無後門版的這些軟體進行安裝;
學習並進行使用,具體教材可以在SecWiki上搜尋,例如:Brup的教程、sqlmap;
待常用的這幾個軟體都學會了可以安裝音速啟動做一個滲透工具箱;
滲透實戰操作(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。
熟悉Windows/Kali Linux(3周)
- 學習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周)
- 能建立自己的安全體系,並能提出一些安全建議或者系統架構。
- 開發一些實用的安全小工具並開源,體現個人實力;
- 建立自己的安全體系,對公司安全有自己的一些認識和見解;
- 提出或者加入大型安全系統的架構或者開發;
相關文章
- web前端工程師必備技能Web前端工程師
- 工程師成長的必備技能【11.7 熱門分享回顧】工程師
- DevOps 工程師成長日記系列一:必備知識與技能組合dev工程師
- 如何成為安全工程師?Web應用程式有哪些優點?工程師Web
- 談談技術人成長中的軟技能
- Web前端怎麼學?如何成為Web前端工程師?Web前端工程師
- 前端工程師成長之讀好書前端工程師
- 前端工程師成長之多讀好書前端工程師
- 前端工程師成長之多看好書前端工程師
- 《運維工程師成長之路》——導讀運維工程師
- 如何成為全棧增長工程師?全棧工程師
- web前端初學技能——5大web前端核心技能Web前端
- cv演算法工程師成長路線演算法工程師
- 女軟體測試工程師的成長工程師
- 資料庫工程師成長經歷有感資料庫工程師
- 程式設計師到創業,成長之路的技能分享程式設計師創業
- 程式設計師的成長離不開哪些軟技能?程式設計師
- 成為全棧程式設計師的技能表 - dev全棧程式設計師dev
- 網路安全工作必備技能,系統安全有網路安全工程師來守護工程師
- 【入門必看】網路安全工程師需要具備哪些技能?工程師
- 技術之外的工程師另類成長指南工程師
- 一個測試工程師的成長覆盤工程師
- 初、中、高階測試工程師成長指南工程師
- 一個 SAP 開發工程師的成長史工程師
- 騰訊首席工程師:程式設計師成長之道工程師程式設計師
- 成為一名大資料工程師,需要具備什麼技能?大資料工程師
- 【職場筆記】遊戲工程師如何自我驅動成長?筆記遊戲工程師
- 程式媛成長紀:從DBA到研發工程師工程師
- 技術工程師成長之其中一道工程師
- 未來Web前端工程師生命週期延長,這些技術成為你的救命稻草!Web前端工程師
- CTFHUB技能樹之WEB前置技能HTTP協議WebHTTP協議
- linux網路工程師需要掌握哪些技能?linux網路工程師技能分析Linux工程師
- 全棧工程師技能圖譜全棧工程師
- 合格運維工程師的技能運維工程師
- 前端開發工程師技能樹前端工程師
- 大資料工程師技能樹大資料工程師
- 如何成為一名優秀的web前端工程師Web前端工程師
- 長沙Web前端培訓:優秀的Web前端工程師需要具備什麼?Web前端工程師