截至到2018年底,我國網民規模已達8.02億人,居世界之首。這片虛擬土壤已經涉足國人生活的方方面面,網際網路安全已不再是隱藏在角落的潛在需求,而是關乎8億中國人的安全保衛戰。
網際網路極度發達衍生的開放性和安全漏洞帶來的風險無處不在,駭客攻擊行為越加猖狂,組織性更強,作為一名Linux運維小哥,我也是由原來的“受害者”誤打誤撞進入Web安全領域。
2015年初時,我學習Linux已有一段時間,有點基礎後便下載了一個CMS搭建部落格,那會能搭建部落格已經夠自己臭屁的了,然而好景不長,沒幾天我便發現部落格網站無法正常開啟,掃清一下,彈了個框出現”hacked by xxx 聯絡QQxxxxxxx”。
那個時候我寫程式碼的標準是能執行起來就謝天謝地了,安全啥的完全沒概念。一頭霧水的我登入ftp,發現自己的首頁多了幾個陌生的檔案,我~被掛馬了。
然後我還真的加了這個QQ,透過這個小老弟的動態中看到了某知名Web安全社群,從此開始關註Web網路安全。
在安全行業摸爬滾打3年多,磕磕碰碰走到今天,真的不想新人再去試錯,下麵是我給大家分享小弟這幾年的學習經驗。
入門Web安全需要具備哪些基本技能?
想給網站彈個窗,獲取cookie?(JavaScript的基本語法要熟悉吧?)
想獲取到網站的使用者資料?(MySQL、MSSQL、Oracle、PostgrSQL基本操作命令你要懂吧?)
想透過命令執行漏洞獲取伺服器資訊?(Linux的命令、目錄檔案資訊心裡得有數吧?)
想搞清楚自己的網站為啥被人掛馬了?(webshell執行原理不能不知道吧?)
…
知識面,決定看到的攻擊面有多廣。 知識鏈,決定發動的殺傷鏈有多深。
一個合格的Web安全測試人員應該具備以下技能:
工具讓每個人都有發現漏洞的機會,但真正掌握工具而不是被工具掌握的人才能成為優秀的白帽子。工欲善其事必先利其器,好的安全測試工具可以幫助白帽子快速、有效的定位到漏洞可能存在的點,同時輔助Web安全測試人員完成漏洞利用(exp)和漏洞證明(poc)。所以,作為一名Web安全測試人員,熟練掌握各種安全測試軟體是基本功。
目前web安全測試人員常用的工具有:burpsuite、sqlmap、wireshark、fiddler、avws等,其中burpsuite和sqlmap是漏洞挖掘過程中使用最多也是最高效的神器。
只有漏洞原理瞭然於胸,才能做到隨手撿洞。只有自己具備編寫工具的能力,才能做到不被工具束縛。
另外,雖然CC ++JAVA 這些程式語言在Web安全測試中都可以寫出很多強大的工具(比如業內最知名的工具burpsuite就是使用Java語言編寫的) ,但是這些語言對於初學者來說並不友好,要達到上手使用的程度往往需要花費大量的時間和精力,所以我並不推薦新手在初學階段去學習這些語言。
我建議大家學習python,因為相對而言Python程式碼簡潔,學習難度小,而且Python程式小巧、佔用系統資源少、可移植性強。
對於Web安全人員來說,Python就像是普羅米修斯手裡的火種,它擁有無限可能。
廠商現在對於安全的重視,使得很多時候僅憑黑盒測試無法做到全方位的安全評估,這個時候就需要我們具備一定的程式碼審計能力對專案進行白盒測試。透過分析原始碼,有針對性的對一些可能存在漏洞的點進行審計,實現高效精準測試。
另外,很多廠商的生產環境都會使用一些開源服務,當挖掘漏洞過程中遇到瓶頸時,審計這些開源服務往往也是一個突破口。
Web安全是一個需要不斷學習的技術,Web安全測試人員要與時俱進,時刻關註最新漏洞動態。
很多時候一些影響力大的漏洞都是從國外披露的,所以我們也應該具備隨時獲取全球Web安全資訊(科學上網和英語基礎)的能力。
任何未經授權的滲透測試行為都可以構成犯罪,作為一名Web安全測試人員,必須懂得用法律保護自己,同時也保證不觸犯法律。
懂得如何寫出一份完整有效的漏洞報告,可以在節省你和廠商的時間同時也提高雙方的工作效率。
這裡給出我個人的學習路線建議:
這裡針對上述各種能力,我彙總了一個思維導圖,學習資源的具體獲取方式都可以在搜尋引擎中獲取到。當然,要是有一些靠譜的Web安全工程師帶是最好的。
話不多說,上福利!
為了讓大家更進一步瞭解Web安全的學習路徑以及企業對安全人才的實際需求,4月17日晚上20點,我們邀請到網易高階安全工程師石劉洋在網易雲課堂進行一場主題為《從小白到安全工程師成長指南》的免費的直播分享。分享網際網路安全工程師的日常,以及Web入門與學習的方法。
掃描上方海報QQ群二維
即可加入直播交流群~
(QQ群號: 778467912)
最後,希望大家能成功從一名“安全小白”進階為Web安全高手,行走在資訊保安的江湖之中。
朋友會在“發現-看一看”看到你“在看”的內容