Web渗透测试从入门到入狱?我该如何选择?
网络安全行业目前形势很好,算是朝阳产业了。这个领域现在人才缺口非常大,未来会更大,这对网络安全行业的学习者和从业者都是一个好事。所以如果有志从事网络安全工作,现在就要打好技术基础,未来一定是核心技术至上。
做安全的都知道,如果是纯技术岗,首选就是渗透测试,offer选择机会多,薪水非常可观。
Web渗透测试( Penetration Test)就是模拟黑客对目标服务器、Web应用程序和相应的软硬件设备配置的安全性进行测试,测试大致可分为三个阶段:信息收集、漏洞发现以及漏洞利用。
而学习渗透测试,就是在学习安全漏洞的攻击手段和防御方法。很多人对渗透感兴趣,就自己找一些相关书籍来看,也在电脑上折腾了很久,最后却感觉没啥收获,或者只是懂一些理论上的“皮毛”。
❗❗你真的懂Web渗透测试吗?今天就从四个方向详细聊一聊,如何成为一名真正的Web渗透测试工程师。
01
Web安全 vs 渗透测试 ?
很多同学经常有以下疑惑:
是不是学会Web安全,就等于学会渗透测试了?
Web安全和渗透测试的关系到底是什么?
Web安全渗透测试的学习路线图是什么?
以上这些问题,大部分安全新人都有过,我们先给出结论,那就是:Web安全不等于渗透测试,Web 安全仅仅是渗透测试的一个小分支。
要理解这张图,首先要清楚「渗透测试」的定义和工作范围,例如什么是渗透测试呢?简单来说:
渗透测试(Penetration test)即安全工程师模拟黑客,在合法授权范围内,通过信息搜集、漏洞挖掘、权限提升等行为,对目标对象进行安全测试(或攻击),最终找出安全风险并输出测试报告。
从上面这句话可以看出,我们并没有对「目标对象」进行范围限制,而当前人类的 IT 基础设施就涵盖了 Web、移动、云计算、物联网、大数据、人工智能等各个领域,这样的话,渗透测试的对象有可能是企业网站、业务系统、移动 APP、WiFi 热点、Docker 容器、AI 机器人……
简单来讲,根据不同目标对象,渗透测试可以细分为Web渗透测试、内网渗透、移动APP渗透、无线渗透……
因此,渗透测试的核心思想,其实就是一个,即:万物即可 Hack !
02
如何学好Web安全渗透测试?
基于以上,我们就知道, 「Web 安全」仅仅是是围绕 Web 技术进行展开,研究Web客户端、Web服务端、数据库、通信协议等安全性问题。
当然,由于Web安全渗透测试方向对于新人更加友好,学起来轻松,也比较容易找到工作,所以话题度更高,就自然有人觉得渗透测试就等于Web安全了。
那重点来了,既然Web安全渗透测试更容易入门,有什么推荐的学习路线及方法呢?
首先,我们需要了解「 Web 技术架构图」,对Web前后端架构有个整体认知:
也就是说,当我们要深入Web安全渗透测试时,首先,得先掂量下,自己是否具备这些前置知识:
是否能够从零开始搭建起一个网站?(网站架构)
是否了解过 HTTP 协议原理?例如用抓包软件分析过 HTTP请求和响应包有什么内容?(Web通信协议)
是否能看懂网页源码,或者用 HTML / CSS / JavaScript 做过前端页面?(Web前端)
是否清楚什么是 MVC/MTV 架构,或者用 Python / PHP / Java 做过后端架构?(Web后端 )
是否了解过常见的 Web容器/中间件,或者用过 Apache / Nginx / Tomcat?(Web容器)
是否掌握任一常见的数据库技术,包括但不限于 MySQL / SQLsever / Oracle?(数据库)
……
如果真的掌握了以上这些 Web 技术,搞懂了网站前后端原理,甚至在代码层面能亲手开发出来,就能理解这样的一个Web安全渗透测试图:
由于有 Web 前端语言基础,那么学 XSS 和 CSRF 漏洞会很快(客户端安全)
由于有 Web 后端语言基础,那么会很快搞定 Webshell木马、文件上传、代码执行等漏洞(服务端安全)
由于有 数据库 SQL 语言基础,那么你学 SQL 注入漏洞或者搞手工注入会感到轻而易举(数据库安全)
……
总而言之,Web安全渗透测试技术,首先是建立在 Web 技术之上的,绕开这些技术谈安全谈渗透,那便是 "空中楼阁"。
有了以上铺垫,这里就正式提供一个经典的Web安全渗透测试学习路线图,是这样的->
第一阶段:Web技术入门
第二阶段:Web安全开发(前端技术)
第三阶段:Web安全开发(后端技术)
第四阶段:Web安全渗透
03
如何寻找Web安全渗透工作及岗位呢?
若按照上面第 1 节提到渗透测试技术需求,那么,渗透测试的要求几乎是全能的,毕竟当代企业的 IT 基础设施包罗万象,大多涉及网站、移动 APP、内网等等。
因此,考虑到招人难,合格简历少,企业在招聘渗透测试工程师时,并不会要求你是全能,大多数时候是熟悉某一个安全领域,对其他领域有所涉猎即可。
例如,你比较擅长 Web 安全,能做很多 Web 方面的渗透测试工作,那投递初中级渗透测试工程师基本能满足了。而如果你对内网安全、移动安全还有所研究,那就能胜任更多高级渗透测试的岗位和工作,例如红蓝对抗、攻防研究、安全研究员等等。
另外,国内的话,很多企业在招聘 Web安全工程师 或 渗透测试工程师时,招聘需求很多时候写的真的差不多,基本搬运来搬运去,这就给人一个误区:
例如,「Web 安全 = 渗透测试」……
例如,拉勾网 直接搜索 「Web安全工程师」或 「渗透测试工程师」:
腾讯的Web安全工程师招聘要求:
字节跳动(今日头条/ 抖音)的渗透测试工程师招聘需求:
好未来的渗透测试工程师招聘需求:
04
如何正确学习Web安全渗透测试呢?
鉴于国内网络安全产业发展刚刚起步,很多网络安全新人都会存在以上学习误区,51CTO联合国内一线网络安全实战专家陈鑫杰&小乔老师共同研发了《全栈网络安全进阶公开课》直播课,帮助你更科学体系化地学习Web安全&红队渗透测试,让你能够更轻松进入安全行业,改变你的职业轨迹。
我们的两位主讲老师 - 陈鑫杰 & 小乔老师,是国家网络安全基地战略合作讲师,是B站/知乎/抖音等平台知名网络安全UP主,全网播放量破500万;其具有多年一线互联网、金融 、政府等安全实战项目经验,擅长网络安全、Web安全、渗透测试、数字取证等领域,曾主导多个国土、电力等千万级项目;是全国多个地区的网警技术顾问,较早将网络安全技术应用于反诈防骗领域,多次协助警方破获大型诈骗团伙。
得益于其多年跨领域跨行业的网络安全实践经验,与各种黑灰产和电信诈骗的“贴身肉搏”经验,两位老师能够带领大家以”黑客“视角来学习安全知识,从原理到实践,从攻击到防御,真正做到「知己知彼」,而非「纸上谈兵」。
在本次《全栈网络安全进阶公开课》中,我们将学到以下知识:
Web渗透实战案例剖析
Web渗透测试学习路线
常见靶场工具资源推荐
渗透测试常见面试题解析
红队RedTeam背景
红队与渗透测试
红队与蓝队差异
常见红蓝对抗模型
ATT&CK框架详解
基于ATT&CK剖析APT事件