专栏首页非著名程序员给初学者的Web安全指南

给初学者的Web安全指南

互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热门职业已然不多。而互联网越发达,各大企业所面临着各种网络安全问题会越发的严峻,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渗透测试指南》

本文分享自微信公众号 - 非著名程序员(non-famous-coder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 给初学者的Web安全指南

    互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热门职业已然不多。而互联网越发达,各大企业所面临着各种网络安全问题会越发的严峻,Web安全工程师的人才缺口仍...

    Java团长
  • [安全 】JWT初学者入门指南

    首先,什么是JSON Web令牌,或JWT(发音为“jot”)?简而言之,JWT是用于令牌认证的安全且值得信赖的标准。JWT允许您使用签名对信息(称为声明)进行...

    首席架构师智库
  • 一份送给Java初学者的指南

    我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailc...

    用户2164320
  • 给初学者的深度学习入门指南

    这个阶段有吴恩达、李飞飞、GeoffreyHinton、Ian Goodfellow等传奇人物的卓越贡献

    Crossin先生
  • 给初学者的深度学习入门指南

    这个阶段有吴恩达、李飞飞、GeoffreyHinton、Ian Goodfellow等传奇人物的卓越贡献

    java进阶架构师
  • 给初学者的深度学习入门指南

    这个阶段有吴恩达、李飞飞、GeoffreyHinton、Ian Goodfellow等传奇人物的卓越贡献

    abs_zero
  • 交互设计初学者的完全指南

    这篇文章对有兴趣学习更多关于交互设计的知识的人来说是一个很好的起点。我们将会简要讨论交互设计的历史,相关的指导原则,值得关注的贡献者,以及有关这个迷人学科的工具...

    Shawn.W
  • 「vue基础」写给 Vuex 初学者的使用指南

    大家好,在前面的几篇文章里我们一起学习了Vue相关的基础知识,想复习基础的同学可以点击文末链接进行回顾。今天我们将学习 Vue 的 State Manageme...

    前端达人
  • 写给自学者的入门指南

    在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。...

    ThoughtWorks

扫码关注云+社区

领取腾讯云代金券