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