互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热门职业已然不多。而互联网越发达,各大企业所面临着各种网络安全问题会越发的严峻,Web安全工程师的人才缺口仍在不断扩大。
经济理论揭示了需求大于供给时,供给方必然涨价的市场定论,也为此奠定了Web安全工程师高薪资的市场基础。
安全技术是一个完全可量化的技能,随着Web安全技能的不断提升,可预见的月均薪资水准也将水涨船高。有60%以上的Web安全工程师,月薪达到15K以上。
图1: Web安全工程师整体月均薪资分布
Web安全工程师必备技能
一名合格的Web安全工程师是要具备很多的知识点,不但要对网站架构熟悉,通讯协议,测试流程与测试工具使用,漏洞利用脚本编写,还有需要经验的积累等。
每一项能力中都是需要精心细琢,深度研究,才能进阶到一个更高的程度,过程中少不了前辈的引导、个人的努力和坚持。
1
基础网络协议/网站架构
互联网的本质也就是一系列的网络协议,不管是C/S架构还是B/S架构都是基于网络通信,渗透人员需要了解到通信流程以及数据包走向等,才能使用相应手段跟工具去做渗透。
Web网站常见的协议以及请求方式,这些在做渗透的时候必不可少的。甚至也是可以利用协议来做渗透测试。所有的知识都是息息相关的,必不可少。
2
基础的编程能力
一名Web渗透测试人员必须具有有一定的基础编程能力的,每天都跟代码打交道,如果不会写代码或者看不懂代码,十分吃亏。
例如需要自己写一款适合此刻情景漏洞的工具,如果不会写会极大降低效率。再者就是关于后续进阶的代码审计问题,如果不会写代码,代码也看不懂那么就不知道怎么从源代码去审计漏洞去发现原因。对于只会利用工具的渗透人员跟会写代码的渗透测试人员来说,在遇到某种情况下,优势一下就能体现出来了。
3
渗透测试工具
渗透测试工具网上开源的很多,作为渗透测试人员会使用渗透测试工具这是必不可少的。一些优秀的工具要学会利用,还有就是要学会自己写工具。
例如在做渗透测试中,好比说大量的数据FUZZ,如果说人工操作将大大浪费时间跟效率。如若网上的工具不符合此漏洞的情景,这时候就需要自己手动写工具去调试。当然网上优秀的工具已不少,优先使用会极大提高我们的效率。
4
了解网站的搭建构成
试着去了解一个网站的形成架构,语言,中间件容器等。如果不知道一个网站是如何搭建起来的,那么做渗透的时候根本就没有对应的渗透测试方案。
例如一个网站采用了某种中间件,或者什么数据库,再或者是采用网上开源的CMS。如果对于这些不了解,那么就只能在网页上徘徊游走,甚至无从下手。了解一个网站的搭建与构成,对于自己前期做踩点与信息收集有着很大的帮助,才能事半功倍。
5
漏洞原理(重要)
渗透测试人员肯定是要对漏洞原理去深入研究探究,这样会从中发现更多有“趣”的东西。所有有“趣”的东西是可能你在原有的基础漏洞上配合其他漏洞,从而达到组合漏洞,这样效果有可能会更佳。
不去了解漏洞原理,漏洞产生,不去从代码层出发,那就不知道漏洞起因,到后期的渗透利用以及修复方案,就会显得吃力,这时候有可能你就需要去查资料,从某种形式的降低了速度与效率,所以,知识与积累必不可少。
6
报告撰写能力
每次做完渗透测试之后,都是需要一个渗透测试报告,所以报告撰写能力也是不可缺。
对于自己漏洞挖掘的梳理,网络结构印象加深,这是后期与客户沟通还有与开发对接提修复建议能起到很大的帮助,这些细小的细节决定着你服务的质量与你的责任感,所以这些都是需要不断的积累与提升的一个过程。
入门Web安全工程师的学习建议
对于想要入门Web安全的同学来说,学习过程中,尤其是前期学习千万不要放弃。同时,学习的过程中要记录图文并茂的笔记。
作为知识的积累,最重要的进行实践,实践,实践!在实践中发现问题,解决问题,安全非一朝一夕之事。
如果你有兴趣入门Web安全,以下的几本书籍资源可以推荐给你:
1.《白帽子讲Web安全》
2.《白帽子讲浏览器安全》
3.《Sql注入攻击与防御》
4.《XSS跨站脚本攻击剖解与防御》
5.《一本书读懂TCP/IP》
6.《Metasploit渗透测试指南》