1、简介

之所以写本文是因为领导督促,本人网上收集了一些Web安全工程师需要掌握哪些技能,职位要求以及如何入门,加上学习网易推出的Web安全工程师微专业课程,为了进一步学习,所以给自己做了一些小小规划,也希望给同样想成为Web安全工程师的其他人一些参考。通过本篇文章,您可以了解一个Web安全从业人员所具备的大致知识面,同时我也制定了一个循序渐进的学习计划,用以定位,并可以自己制定适合自己的学习计划。

2、知识面

人类的知识都是具有阶梯式、层级式的特点,如果不了解下层的知识面,那么对于上层知识面的学习将会止于皮毛、浮于表面。对于Web安全来说,有5大块知识面是必须要掌握的,其层次关系如下图:

 

最下层的是os(操作系统)与db(数据库)。中间层是web,也是最重要的贯通上下的知识面。最上层的是安全攻防的知识和系统开发的知识,二者是纠缠在一起的上升螺旋。

3、学习计划

虽然知识面是层级式的,但是对于我们的学习来说,不应该抱有先把下层的知识学会、再学上层的知识。正确的做法是快速获取主要的知识,然后进入下一阶段的学习,那些未明白的地方,总会在未来的某个时刻或触类旁通、或回头重学。

基于这种快速学习的方法,我的学习计划是这样的:

 

4、基础学习

需要掌握基础分层图:

 

首先在我们入门前,肯定需要知道什么是web,一个网站是怎么搭建的?
4.1、基础学习——静态层
根据上面的分层学习,第一步进行静态层的学习,包括HTML和Javascript。
关于入门掌握的程度:
HTML学习可以在w3school上(http://www.w3school.com.cn/html/index.asp
一般2-3天学习入门即可,懂得编各个标签的意思和写简单的静态网站就成,后期有用到别的就查查手册即可。
Javascript的学习也可以在w3school上先入门,学习到dom部分即可,然后参考书籍《javascript dom编程艺术》进行学习,
javascript还是有必要学习深入些的,有利于后面进行xss漏洞的学习。(5天入门)

还有需要学习学习http协议的相关内容,要知道状态码什么意思,http头部都有什么信息。

HTTP协议™ http://www.yiibai.com/http/  (3-5天)

4.2、基础学习——脚本层(动态层)
关于编程的学习的话大部分认为建议学习php
先学习简单的php(毕竟开源),还有安全工程师必备的脚本语言python。
关于php和python的学习我是买了两本书

《21天学会PHP》、《Python自动化运维》

关于python的学习之前有听了一个live,仅供参考
【python学习链接:电子版- [ 笨办法学Python ] http://www.kancloud.cn/kancloud/learn-python-hard-way/49863
Crossin的编程教室 – Python http://res.crossincode.com/wechat/python.html
Python 2.7教程 – 廖雪峰的官方网站 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

Python3教程 http://www.yiibai.com/python3/

4.3、基础学习——数据库层

关于数据库的学习,可以先掌握些sql语句,我选择mysql来学习。

SQL教程_w3cschool http://www.w3cschool.cn/sql/

MySQL教程_w3cschool http://www.w3cschool.cn/mysql/

21分钟 MySQL 入门教程 – wid – 博客园 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html(个人觉得学了sql语句在看看这个还是OK的)

4.4、基础学习——服务器层

4.4.1,这个过程主要是要开始学习学习如何搭建环境,了解各个服务器中间件的概念。

目前常见web服务器: IIS、Apache、Nginx、WebLogic

4.4.2,渗透环境的搭建

php的集合环境软件:phpstudy

jsp的集合环境软件:jspstudy

asp的集合环境软件:小旋风ASP服务器

【新手指南:手把手教你如何搭建自己的渗透测试环境 – FreeBuf.COM | 关注黑客与极客

http://www.freebuf.com/sectool/102661.html 】

除了 FreeBuf这篇文章搭建的环境,最近看到个不错的环境也可以推荐给大家:

webug漏洞环境-官方 http://www.webug.org/#page1

Docker 教程 | 菜鸟教程 http://www.runoob.com/docker/docker-tutorial.html

4.5、基础学习——系统层

现在来到了我们的神奇系统层,主要是linux系统和Windows系统,主要了解相关的命令。

DOS技巧100例_w3cschool http://www.w3cschool.cn/dosmlxxsc1/cudkrf.html

Linux 教程 | 菜鸟教程 http://www.runoob.com/linux/linux-tutorial.html

玄魂kali链接: https://pan.baidu.com/s/1ccTB7S 密码: bp4y

5、Web常见漏洞原理

【2017 OWASP Top 10十大安全漏洞候选出炉,你怎么看? – FreeBuf.COM | 关注黑客与极客 http://www.freebuf.com/news/131778.html】

【WEB安全】常见WEB漏洞 – moshenglv的专栏 – 博客频道 – CSDN.NET http://blog.csdn.net/moshenglv/article/details/53439579

网络安全漏洞科普及概念认识 – 网络安全焦点 http://www.chncto.com/0day/16091.html

Web安全测试中常见逻辑漏洞解析(实战篇) – FreeBuf.COM | 关注黑客与极客 http://www.freebuf.com/vuls/112339.html

『安全科普』WEB安全之渗透测试流程 – Anka9080 – 博客园 http://www.cnblogs.com/anka9080/p/shentouliucheng.html

推荐网站:

【漏洞银行:http://www.bugbank.cn/skills.html

FreeBuf.COM | 关注黑客与极客 http://www.freebuf.com/

MottoIN http://www.mottoin.com

i春秋论坛|白帽黑客论坛|网络渗透技术|网站安全|移动安全|通信安全 https://bbs.ichunqiu.com/portal.php

安全脉搏 https://www.secpulse.com/

91Ri.org http://www.91ri.org

漏洞研究 – 安全技术社区 https://xianzhi.aliyun.com/forum/thread/4.html

一叶知安 – 知乎专栏 https://zhuanlan.zhihu.com/leafsec(知乎还有其他不错的专栏可以去找找看)】

6、web安全工具

正所谓工欲善其事,必先利其器。

工具太多了,就不过多介绍了,去找找自己得心应手的工具就好,等python学精通了,也可以自己写工具来。

就说说比较神器的几个工具吧,

1,火狐浏览器,谷歌浏览器

2,nmap(端口扫描+其他)

3,awvs(漏洞扫描)

4,御剑(后台目录扫描)

5,sqlmap(注入神器)

6,burpsuite(神器)

7,WebRobot(爬虫,看文件结构等,挺不错的)

8,subDomainsBrute和Layer子域名挖掘机

附上:

安全行业从业人员自研开源扫描器合集(2017/01/11更新)-MottoIN http://www.mottoin.com/94492.html

burpsuite实战指南 https://t0data.gitbooks.io/burpsuite/content/?q=

米斯特白帽培训讲义 – 下载频道 – CSDN.NET http://download.csdn.net/detail/wizardforcel/9728354

书籍推荐:

Web安全书籍推荐 – 知乎专栏 https://zhuanlan.zhihu.com/p/23065460

就这样吧,后面可以慢慢建立自己的

参考:
Web安全工程师-安全技能 -SecWiki https://www.sec-wiki.com/skill/2
Web安全入门心法 – 知乎专栏 https://zhuanlan.zhihu.com/p/26053309
零基础如何学习 Web 安全? – 知乎 https://www.zhihu.com/question/21606800
Web 安全入门-书籍及建议 – 简书 http://www.jianshu.com/p/6dcebd54fb24