你不知道的Web前端安全技術(shù)
互聯(lián)網(wǎng)進(jìn)入下半場(chǎng),競(jìng)爭(zhēng)越發(fā)的激烈,能與人工智能比肩的熱門職業(yè)已然不多。而互聯(lián)網(wǎng)越發(fā)達(dá),各大企業(yè)所面臨著各種網(wǎng)絡(luò)安全問題會(huì)越發(fā)的嚴(yán)峻,Web安全工程師的人才缺口仍在不斷擴(kuò)大。經(jīng)濟(jì)理論揭示了需求大于供給時(shí),供給方必然漲價(jià)的市場(chǎng)定論,也為此奠定了Web安全工程師高薪資的市場(chǎng)基礎(chǔ)。
安全技術(shù)是一個(gè)完全可量化的技能,隨著Web安全技能的不斷提升,可預(yù)見的月均薪資水準(zhǔn)也將水漲船高。
圖1: Web安全工程師整體月均薪資分布
Web安全工程師必備技能
一名合格的Web安全工程師是要具備很多的知識(shí)點(diǎn),不但要對(duì)網(wǎng)站架構(gòu)熟悉,通訊協(xié)議,測(cè)試流程與測(cè)試工具使用,漏洞利用腳本編寫,還有需要經(jīng)驗(yàn)的積累等,每一項(xiàng)能力中都是需要精心細(xì)琢,深度研究,才能進(jìn)階到一個(gè)更高的程度,過程中少不了前輩的引導(dǎo)、個(gè)人的努力和堅(jiān)持。
1. 基礎(chǔ)網(wǎng)絡(luò)協(xié)議/網(wǎng)站架構(gòu)
互聯(lián)網(wǎng)的本質(zhì)也就是一系列的網(wǎng)絡(luò)協(xié)議,不管是C/S架構(gòu)還是B/S架構(gòu)都是基于網(wǎng)絡(luò)通信,滲透人員需要了解到通信流程以及數(shù)據(jù)包走向等,才能使用相應(yīng)手段跟工具去做滲透。Web網(wǎng)站常見的協(xié)議以及請(qǐng)求方式,這些在做滲透的時(shí)候必不可少的。甚至也是可以利用協(xié)議來做滲透測(cè)試。所有的知識(shí)都是息息相關(guān)的,必不可少。
2. 基礎(chǔ)的編程能力
一名Web滲透測(cè)試人員必須具有有一定的基礎(chǔ)編程能力的,每天都跟代碼打交道,如果不會(huì)寫代碼或者看不懂代碼,十分吃虧。例如需要自己寫一款適合此刻情景漏洞的工具,如果不會(huì)寫會(huì)極大降低效率。再者就是關(guān)于后續(xù)進(jìn)階的代碼審計(jì)問題,如果不會(huì)寫代碼,代碼也看不懂那么就不知道怎么從源代碼去審計(jì)漏洞去發(fā)現(xiàn)原因。對(duì)于只會(huì)利用工具的滲透人員跟會(huì)寫代碼的滲透測(cè)試人員來說,在遇到某種情況下,優(yōu)勢(shì)一下就能體現(xiàn)出來了。
3. 滲透測(cè)試工具
滲透測(cè)試工具網(wǎng)上開源的很多,作為滲透測(cè)試人員會(huì)使用滲透測(cè)試工具這是必不可少的。一些優(yōu)秀的工具要學(xué)會(huì)利用,還有就是要學(xué)會(huì)自己寫工具。例如在做滲透測(cè)試中,好比說大量的數(shù)據(jù)FUZZ,如果說人工操作將大大浪費(fèi)時(shí)間跟效率。如若網(wǎng)上的工具不符合此漏洞的情景,這時(shí)候就需要自己手動(dòng)寫工具去調(diào)試。當(dāng)然網(wǎng)上優(yōu)秀的工具已不少,優(yōu)先使用會(huì)極大提高我們的效率。
4. 了解網(wǎng)站的搭建構(gòu)成
試著去了解一個(gè)網(wǎng)站的形成架構(gòu),語言,中間件容器等。如果不知道一個(gè)網(wǎng)站是如何搭建起來的,那么做滲透的時(shí)候根本就沒有對(duì)應(yīng)的滲透測(cè)試方案。例如一個(gè)網(wǎng)站采用了某種中間件,或者什么數(shù)據(jù)庫,再或者是采用網(wǎng)上開源的CMS。如果對(duì)于這些不了解,那么就只能在網(wǎng)頁上徘徊游走,甚至無從下手。了解一個(gè)網(wǎng)站的搭建與構(gòu)成,對(duì)于自己前期做踩點(diǎn)與信息收集有著很大的幫助,才能事半功倍。
5. 漏洞原理(重要)
滲透測(cè)試人員肯定是要對(duì)漏洞原理去深入研究探究,這樣會(huì)從中發(fā)現(xiàn)更多有“趣”的東西。所有有“趣”的東西是可能你在原有的基礎(chǔ)漏洞上配合其他漏洞,從而達(dá)到組合漏洞,這樣效果有可能會(huì)更佳,不過不去了解漏洞原理,漏洞產(chǎn)生,不去從代碼層出發(fā),那就不知道漏洞起因,到后期的滲透利用以及修復(fù)方案,就會(huì)顯得吃力,這時(shí)候有可能你就需要去查資料,從某種形式的降低了速度與效率,所以,知識(shí)與積累必不可少。
6. 報(bào)告撰寫能力
每次做完滲透測(cè)試之后,都是需要一個(gè)滲透測(cè)試報(bào)告,所以報(bào)告撰寫能力也是不可缺。對(duì)于自己漏洞挖掘的梳理,網(wǎng)絡(luò)結(jié)構(gòu)印象加深,這是后期與客戶溝通還有與開發(fā)對(duì)接提修復(fù)建議能起到很大的幫助,這些細(xì)小的細(xì)節(jié)決定著你服務(wù)的質(zhì)量與你的責(zé)任感,所以這些都是需要不斷的積累與提升的一個(gè)過程。
入門Web安全工程師的學(xué)習(xí)建議
對(duì)于想要入門Web安全的同學(xué)來說,學(xué)習(xí)過程中,尤其是前期學(xué)習(xí)千萬不要放棄。同時(shí),學(xué)習(xí)的過程中要記錄圖文并茂的筆記。作為知識(shí)的積累,最重要的進(jìn)行實(shí)踐,實(shí)踐,實(shí)踐!在實(shí)踐中發(fā)現(xiàn)問題,解決問題,安全非一朝一夕之事。
如果你有興趣入門Web安全,以下的幾本書籍資源可以推薦給你:
- 《白帽子講Web安全》
- 《白帽子講瀏覽器安全》
- 《Sql注入攻擊與防御》
- 《XSS跨站腳本攻擊剖解與防御》
- 《一本書讀懂TCP/IP》
- 《Metasploit滲透測(cè)試指南》
- ...