你不知道的Web前端安全技术

安全 应用安全
一名合格的Web安全工程师是要具备很多的知识点,不但要对网站架构熟悉,通讯协议,测试流程与测试工具使用,漏洞利用脚本编写,还有需要经验的积累等。

互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热门职业已然不多。而互联网越发达,各大企业所面临着各种网络安全问题会越发的严峻,Web安全工程师的人才缺口仍在不断扩大。经济理论揭示了需求大于供给时,供给方必然涨价的市场定论,也为此奠定了Web安全工程师高薪资的市场基础。

安全技术是一个完全可量化的技能,随着Web安全技能的不断提升,可预见的月均薪资水准也将水涨船高。

 Web安全工程师整体月均薪资分布

图1: Web安全工程师整体月均薪资分布

Web安全工程师必备技能

一名合格的Web安全工程师是要具备很多的知识点,不但要对网站架构熟悉,通讯协议,测试流程与测试工具使用,漏洞利用脚本编写,还有需要经验的积累等,每一项能力中都是需要精心细琢,深度研究,才能进阶到一个更高的程度,过程中少不了前辈的引导、个人的努力和坚持。

Web安全工程师整体月均薪资分布

1. 基础网络协议/网站架构

互联网的本质也就是一系列的网络协议,不管是C/S架构还是B/S架构都是基于网络通信,渗透人员需要了解到通信流程以及数据包走向等,才能使用相应手段跟工具去做渗透。Web网站常见的协议以及请求方式,这些在做渗透的时候必不可少的。甚至也是可以利用协议来做渗透测试。所有的知识都是息息相关的,必不可少。

2. 基础的编程能力

一名Web渗透测试人员必须具有有一定的基础编程能力的,每天都跟代码打交道,如果不会写代码或者看不懂代码,十分吃亏。例如需要自己写一款适合此刻情景漏洞的工具,如果不会写会极大降低效率。再者就是关于后续进阶的代码审计问题,如果不会写代码,代码也看不懂那么就不知道怎么从源代码去审计漏洞去发现原因。对于只会利用工具的渗透人员跟会写代码的渗透测试人员来说,在遇到某种情况下,优势一下就能体现出来了。

3. 渗透测试工具

渗透测试工具网上开源的很多,作为渗透测试人员会使用渗透测试工具这是必不可少的。一些优秀的工具要学会利用,还有就是要学会自己写工具。例如在做渗透测试中,好比说大量的数据FUZZ,如果说人工操作将大大浪费时间跟效率。如若网上的工具不符合此漏洞的情景,这时候就需要自己手动写工具去调试。当然网上优秀的工具已不少,优先使用会极大提高我们的效率。

4. 了解网站的搭建构成

试着去了解一个网站的形成架构,语言,中间件容器等。如果不知道一个网站是如何搭建起来的,那么做渗透的时候根本就没有对应的渗透测试方案。例如一个网站采用了某种中间件,或者什么数据库,再或者是采用网上开源的CMS。如果对于这些不了解,那么就只能在网页上徘徊游走,甚至无从下手。了解一个网站的搭建与构成,对于自己前期做踩点与信息收集有着很大的帮助,才能事半功倍。

5. 漏洞原理(重要)

渗透测试人员肯定是要对漏洞原理去深入研究探究,这样会从中发现更多有“趣”的东西。所有有“趣”的东西是可能你在原有的基础漏洞上配合其他漏洞,从而达到组合漏洞,这样效果有可能会更佳,不过不去了解漏洞原理,漏洞产生,不去从代码层出发,那就不知道漏洞起因,到后期的渗透利用以及修复方案,就会显得吃力,这时候有可能你就需要去查资料,从某种形式的降低了速度与效率,所以,知识与积累必不可少。

6. 报告撰写能力

每次做完渗透测试之后,都是需要一个渗透测试报告,所以报告撰写能力也是不可缺。对于自己漏洞挖掘的梳理,网络结构印象加深,这是后期与客户沟通还有与开发对接提修复建议能起到很大的帮助,这些细小的细节决定着你服务的质量与你的责任感,所以这些都是需要不断的积累与提升的一个过程。

入门Web安全工程师的学习建议

对于想要入门Web安全的同学来说,学习过程中,尤其是前期学习千万不要放弃。同时,学习的过程中要记录图文并茂的笔记。作为知识的积累,最重要的进行实践,实践,实践!在实践中发现问题,解决问题,安全非一朝一夕之事。

如果你有兴趣入门Web安全,以下的几本书籍资源可以推荐给你:

  • 《白帽子讲Web安全》
  • 《白帽子讲浏览器安全》
  • 《Sql注入攻击与防御》
  • 《XSS跨站脚本攻击剖解与防御》
  • 《一本书读懂TCP/IP》
  • 《Metasploit渗透测试指南》
  • ...
责任编辑:赵宁宁 来源: 前端大学
相关推荐

2020-04-08 10:39:59

前端web技巧

2009-12-10 09:37:43

2022-10-13 11:48:37

Web共享机制操作系统

2011-09-15 17:10:41

2021-02-01 23:23:39

FiddlerCharlesWeb

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket浏览器

2022-10-28 21:29:55

前端蓝牙心率带

2020-09-15 08:35:57

TypeScript JavaScript类型

2022-11-04 08:19:18

gRPC框架项目

2010-08-23 09:56:09

Java性能监控

2021-08-04 08:22:53

前端技术编程

2013-11-12 14:50:33

2015-03-25 11:14:28

2021-01-05 11:22:58

Python字符串代码

2014-03-12 09:23:06

DevOps团队合作

2011-08-12 09:27:33

移动设备虚拟化虚拟化

2015-08-13 09:03:14

调试技巧

2012-06-26 15:49:05

2017-03-02 14:05:42

AndroidAndroid Stu调试技巧
点赞
收藏

51CTO技术栈公众号