Web滲透測試從入門到入獄?我該如何選擇?
網(wǎng)絡(luò)安全行業(yè)目前形勢很好,算是朝陽產(chǎn)業(yè)了。這個領(lǐng)域現(xiàn)在人才缺口非常大,未來會更大,這對網(wǎng)絡(luò)安全行業(yè)的學(xué)習(xí)者和從業(yè)者都是一個好事。所以如果有志從事網(wǎng)絡(luò)安全工作,現(xiàn)在就要打好技術(shù)基礎(chǔ),未來一定是核心技術(shù)至上。
做安全的都知道,如果是純技術(shù)崗,首選就是滲透測試,offer選擇機會多,薪水非??捎^。
Web滲透測試( Penetration Test)就是模擬黑客對目標(biāo)服務(wù)器、Web應(yīng)用程序和相應(yīng)的軟硬件設(shè)備配置的安全性進行測試,測試大致可分為三個階段:信息收集、漏洞發(fā)現(xiàn)以及漏洞利用。
而學(xué)習(xí)滲透測試,就是在學(xué)習(xí)安全漏洞的攻擊手段和防御方法。很多人對滲透感興趣,就自己找一些相關(guān)書籍來看,也在電腦上折騰了很久,最后卻感覺沒啥收獲,或者只是懂一些理論上的“皮毛”。
??你真的懂Web滲透測試嗎?今天就從四個方向詳細(xì)聊一聊,如何成為一名真正的Web滲透測試工程師。
01
Web安全 vs 滲透測試 ?

很多同學(xué)經(jīng)常有以下疑惑:
是不是學(xué)會Web安全,就等于學(xué)會滲透測試了?
Web安全和滲透測試的關(guān)系到底是什么?
Web安全滲透測試的學(xué)習(xí)路線圖是什么?
以上這些問題,大部分安全新人都有過,我們先給出結(jié)論,那就是:Web安全不等于滲透測試,Web 安全僅僅是滲透測試的一個小分支。

要理解這張圖,首先要清楚「滲透測試」的定義和工作范圍,例如什么是滲透測試呢?簡單來說:
滲透測試(Penetration test)即安全工程師模擬黑客,在合法授權(quán)范圍內(nèi),通過信息搜集、漏洞挖掘、權(quán)限提升等行為,對目標(biāo)對象進行安全測試(或攻擊),最終找出安全風(fēng)險并輸出測試報告。
從上面這句話可以看出,我們并沒有對「目標(biāo)對象」進行范圍限制,而當(dāng)前人類的 IT 基礎(chǔ)設(shè)施就涵蓋了 Web、移動、云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等各個領(lǐng)域,這樣的話,滲透測試的對象有可能是企業(yè)網(wǎng)站、業(yè)務(wù)系統(tǒng)、移動 APP、WiFi 熱點、Docker 容器、AI 機器人……
簡單來講,根據(jù)不同目標(biāo)對象,滲透測試可以細(xì)分為Web滲透測試、內(nèi)網(wǎng)滲透、移動APP滲透、無線滲透……
因此,滲透測試的核心思想,其實就是一個,即:萬物即可 Hack !
02
如何學(xué)好Web安全滲透測試?

基于以上,我們就知道, 「Web 安全」僅僅是是圍繞 Web 技術(shù)進行展開,研究Web客戶端、Web服務(wù)端、數(shù)據(jù)庫、通信協(xié)議等安全性問題。
當(dāng)然,由于Web安全滲透測試方向?qū)τ谛氯烁佑押?,學(xué)起來輕松,也比較容易找到工作,所以話題度更高,就自然有人覺得滲透測試就等于Web安全了。
那重點來了,既然Web安全滲透測試更容易入門,有什么推薦的學(xué)習(xí)路線及方法呢?
首先,我們需要了解「 Web 技術(shù)架構(gòu)圖」,對Web前后端架構(gòu)有個整體認(rèn)知:

也就是說,當(dāng)我們要深入Web安全滲透測試時,首先,得先掂量下,自己是否具備這些前置知識:
是否能夠從零開始搭建起一個網(wǎng)站?(網(wǎng)站架構(gòu))
是否了解過 HTTP 協(xié)議原理?例如用抓包軟件分析過 HTTP請求和響應(yīng)包有什么內(nèi)容?(Web通信協(xié)議)
是否能看懂網(wǎng)頁源碼,或者用 HTML / CSS / JavaScript 做過前端頁面?(Web前端)
是否清楚什么是 MVC/MTV 架構(gòu),或者用 Python / PHP / Java 做過后端架構(gòu)?(Web后端 )
是否了解過常見的 Web容器/中間件,或者用過 Apache / Nginx / Tomcat?(Web容器)
是否掌握任一常見的數(shù)據(jù)庫技術(shù),包括但不限于 MySQL / SQLsever / Oracle?(數(shù)據(jù)庫)
……
如果真的掌握了以上這些 Web 技術(shù),搞懂了網(wǎng)站前后端原理,甚至在代碼層面能親手開發(fā)出來,就能理解這樣的一個Web安全滲透測試圖:

由于有 Web 前端語言基礎(chǔ),那么學(xué) XSS 和 CSRF 漏洞會很快(客戶端安全)
由于有 Web 后端語言基礎(chǔ),那么會很快搞定 Webshell木馬、文件上傳、代碼執(zhí)行等漏洞(服務(wù)端安全)
由于有 數(shù)據(jù)庫 SQL 語言基礎(chǔ),那么你學(xué) SQL 注入漏洞或者搞手工注入會感到輕而易舉(數(shù)據(jù)庫安全)
……
總而言之,Web安全滲透測試技術(shù),首先是建立在 Web 技術(shù)之上的,繞開這些技術(shù)談安全談滲透,那便是 "空中樓閣"。
有了以上鋪墊,這里就正式提供一個經(jīng)典的Web安全滲透測試學(xué)習(xí)路線圖,是這樣的->

第一階段:Web技術(shù)入門
第二階段:Web安全開發(fā)(前端技術(shù))
第三階段:Web安全開發(fā)(后端技術(shù))
第四階段:Web安全滲透
03
如何尋找Web安全滲透工作及崗位呢?

若按照上面第 1 節(jié)提到滲透測試技術(shù)需求,那么,滲透測試的要求幾乎是全能的,畢竟當(dāng)代企業(yè)的 IT 基礎(chǔ)設(shè)施包羅萬象,大多涉及網(wǎng)站、移動 APP、內(nèi)網(wǎng)等等。
因此,考慮到招人難,合格簡歷少,企業(yè)在招聘滲透測試工程師時,并不會要求你是全能,大多數(shù)時候是熟悉某一個安全領(lǐng)域,對其他領(lǐng)域有所涉獵即可。
例如,你比較擅長 Web 安全,能做很多 Web 方面的滲透測試工作,那投遞初中級滲透測試工程師基本能滿足了。而如果你對內(nèi)網(wǎng)安全、移動安全還有所研究,那就能勝任更多高級滲透測試的崗位和工作,例如紅藍(lán)對抗、攻防研究、安全研究員等等。
另外,國內(nèi)的話,很多企業(yè)在招聘 Web安全工程師 或 滲透測試工程師時,招聘需求很多時候?qū)懙恼娴牟畈欢?/strong>,基本搬運來搬運去,這就給人一個誤區(qū):
例如,「Web 安全 = 滲透測試」……
例如,拉勾網(wǎng) 直接搜索 「Web安全工程師」或 「滲透測試工程師」:

騰訊的Web安全工程師招聘要求:

字節(jié)跳動(今日頭條/ 抖音)的滲透測試工程師招聘需求:

好未來的滲透測試工程師招聘需求:

04
如何正確學(xué)習(xí)Web安全滲透測試呢?

鑒于國內(nèi)網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展剛剛起步,很多網(wǎng)絡(luò)安全新人都會存在以上學(xué)習(xí)誤區(qū),51CTO聯(lián)合國內(nèi)一線網(wǎng)絡(luò)安全實戰(zhàn)專家陳鑫杰&小喬老師共同研發(fā)了《全棧網(wǎng)絡(luò)安全進階公開課》直播課,幫助你更科學(xué)體系化地學(xué)習(xí)Web安全&紅隊滲透測試,讓你能夠更輕松進入安全行業(yè),改變你的職業(yè)軌跡。
我們的兩位主講老師 - 陳鑫杰 & 小喬老師,是國家網(wǎng)絡(luò)安全基地戰(zhàn)略合作講師,是B站/知乎/抖音等平臺知名網(wǎng)絡(luò)安全UP主,全網(wǎng)播放量破500萬;其具有多年一線互聯(lián)網(wǎng)、金融 、政府等安全實戰(zhàn)項目經(jīng)驗,擅長網(wǎng)絡(luò)安全、Web安全、滲透測試、數(shù)字取證等領(lǐng)域,曾主導(dǎo)多個國土、電力等千萬級項目;是全國多個地區(qū)的網(wǎng)警技術(shù)顧問,較早將網(wǎng)絡(luò)安全技術(shù)應(yīng)用于反詐防騙領(lǐng)域,多次協(xié)助警方破獲大型詐騙團伙。
得益于其多年跨領(lǐng)域跨行業(yè)的網(wǎng)絡(luò)安全實踐經(jīng)驗,與各種黑灰產(chǎn)和電信詐騙的“貼身肉搏”經(jīng)驗,兩位老師能夠帶領(lǐng)大家以”黑客“視角來學(xué)習(xí)安全知識,從原理到實踐,從攻擊到防御,真正做到「知己知彼」,而非「紙上談兵」。
在本次《全棧網(wǎng)絡(luò)安全進階公開課》中,我們將學(xué)到以下知識:
Web滲透實戰(zhàn)案例剖析
Web滲透測試學(xué)習(xí)路線
常見靶場工具資源推薦
滲透測試常見面試題解析
紅隊RedTeam背景
紅隊與滲透測試
紅隊與藍(lán)隊差異
常見紅藍(lán)對抗模型
ATT&CK框架詳解
基于ATT&CK剖析APT事件

