你不知道的Web前端安全技術
網際網路進入下半場,競爭越發的激烈,能與人工智慧比肩的熱門職業已然不多。 而網際網路越發達,各大企業所面臨著各種網路安全問題會越發的嚴峻,Web安全工程師的人才缺口仍在不斷擴大。 經濟理論揭示了需求大於供給時,供給方必然漲價的市場定論,也為此奠定了Web安全工程師高薪資的市場基礎。
安全技術是一個完全可量化的技能,隨著Web安全技能的不斷提升,可預見的月均薪資水準也將水漲船高。

圖1: Web安全工程師整體月均薪資分佈
Web安全工程師必備技能
一名合格的Web安全工程師是要具備很多的知識點, 不但要對網站架構熟悉,通訊協議,測試流程與測試工具使用,漏洞利用指令碼編寫,還有需要經驗的積累等, 每一項能力中都是需要精心細琢,深度研究,才能進階到一個更高的程度,過程中少不了前輩的引導、個人的努力和堅持。

1、基礎網路協議/網站架構
網際網路的本質也就是一系列的網路協議,不管是C/S架構還是B/S架構都是基於網路通訊,滲透人員需要了解到通訊流程以及資料包走向等,才能使用相應手段跟工具去做滲透。Web網站常見的協議以及請求方式,這些在做滲透的時候必不可少的。甚至也是可以利用協議來做滲透測試。所有的知識都是息息相關的,必不可少。
2、基礎的程式設計能力
一名Web滲透測試人員必須具有有一定的基礎程式設計能力的,每天都跟程式碼打交道,如果不會寫程式碼或者看不懂程式碼,十分吃虧。例如需要自己寫一款適合此刻情景漏洞的工具,如果不會寫會極大降低效率。再者就是關於後續進階的程式碼審計問題,如果不會寫程式碼,程式碼也看不懂那麼就不知道怎麼從原始碼去審計漏洞去發現原因。對於只會利用工具的滲透人員跟會寫程式碼的滲透測試人員來說,在遇到某種情況下,優勢一下就能體現出來了。
3、滲透測試工具
滲透測試工具網上開源的很多,作為滲透測試人員會使用滲透測試工具這是必不可少的。一些優秀的工具要學會利用,還有就是要學會自己寫工具。例如在做滲透測試中,好比說大量的資料FUZZ,如果說人工操作將大大浪費時間跟效率。如若網上的工具不符合此漏洞的情景,這時候就需要自己手動寫工具去除錯。當然網上優秀的工具已不少,優先使用會極大提高我們的效率。
4、瞭解網站的搭建構成
試著去了解一個網站的形成架構,語言,中介軟體容器等。如果不知道一個網站是如何搭建起來的,那麼做滲透的時候根本就沒有對應的滲透測試方案。例如一個網站採用了某種中介軟體,或者什麼資料庫,再或者是採用網上開源的CMS。如果對於這些不瞭解,那麼就只能在網頁上徘徊遊走,甚至無從下手。瞭解一個網站的搭建與構成,對於自己前期做踩點與資訊收集有著很大的幫助,才能事半功倍。
5、漏洞原理(重要)
滲透測試人員肯定是要對漏洞原理去深入研究探究,這樣會從中發現更多有“趣”的東西。所有有“趣”的東西是可能你在原有的基礎漏洞上配合其他漏洞,從而達到組合漏洞,這樣效果有可能會更佳,不過不去了解漏洞原理,漏洞產生,不去從程式碼層出發,那就不知道漏洞起因,到後期的滲透利用以及修復方案,就會顯得吃力,這時候有可能你就需要去查資料,從某種形式的降低了速度與效率,所以,知識與積累必不可少。
5、報告撰寫能力
每次做完滲透測試之後,都是需要一個滲透測試報告,所以報告撰寫能力也是不可缺。對於自己漏洞挖掘的梳理,網路結構印象加深,這是後期與客戶溝通還有與開發對接提修復建議能起到很大的幫助,這些細小的細節決定著你服務的質量與你的責任感,所以這些都是需要不斷的積累與提升的一個過程。
入門Web安全工程師的學習建議
對於想要入門Web安全的同學來說,學習過程中,尤其是前期學習千萬不要放棄。同時,學習的過程中要記錄圖文並茂的筆記。作為知識的積累,最重要的進行實踐,實踐,實踐!在實踐中發現問題,解決問題,安全非一朝一夕之事。
如果你有興趣入門Web安全,以下的幾本書籍資源可以推薦給你:
1.《白帽子講Web安全》
2.《白帽子講瀏覽器安全》
3.《Sql注入攻擊與防禦》
4.《XSS跨站指令碼攻擊剖解與防禦》
5.《一本書讀懂TCP/IP》
6.《Metasploit滲透測試指南》
...
當然,如果找到一個有經驗的老師系統指導你學習,並以練習的方式針對性對你的問題進行反饋,這樣的學習更高效!
原文釋出時間為:2018-12-04