大家好,我是c00lman。最近有小伙伴问我,学web安全有没有什么路线。确实,web安全的范围实在太大,哪些先学,哪些后学,如果没有系统的路线会降低大家效率,对于刚入门的同学们来说简直就是“噩梦”。当初我刚入门的时候走了很多弯路,甚至有持续半年的阶段里在做无用功,现在的我逐渐走入正轨。所以,我打算写一篇类似学习路线的博文,帮助刚入门的萌新们少走弯路,希望能给大家一些帮助。
李笑来老师有一个观点,MAKE(Minimal Actionable Knowledge and Experience),即“最少必要知识”。MAKE就是想要获得某项技能所必须掌握的最少知识和经验,其实也就是俗话说的“师傅带进门,修行在个人”中师傅带进门教的哪些东西。本文就是带你入web安全的大门,让你的瓶颈更高一些。
01 基础语言(60天)
做web安全的人如果不懂开发,不会语言,也就是所谓的脚本小子了,是很可怕的,你会很快的遇到瓶颈,那就是语言。我希望大家从刚开始就夯实基础,学好语言,你学的越好,你的瓶颈也就越高。
常见语言:HTML、CSS、JS、JAVA、PHP、SQL、Python、Ruby
以上这些语言都涉及到开发和脚本编写,试想一下,在你未来做代码审计和脚本编写的时候,如果你已经掌握这些语言,岂不是美滋滋。
推荐一下相关书籍(无商业关系)
02 基础协议(20天)
因为是web安全,所以要着重学习HTTP协议和TCP/IP协议,这也将是决定你的瓶颈高低的一个因素。
推荐一下相关书籍(无商业关系)
03 常见漏洞和工具(60天)
常见工具:AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan……(要自己读一遍工具的官方API)
常见漏洞:SQL注入 、XSS攻击、CSRF漏洞、文件上传绕过、文件包含漏洞、任意代码执行、业务逻辑漏洞……
这些是必须要学的,而且还需要精通,这些漏洞和工具,在我推荐的书籍里都有所涉及,大家可以看书学习,或者上网搜索。
推荐一下相关书籍(无商业关系)
04 工具开发(10天)
虽然网上有大牛放出来的工具,但使用的过程中总有些不顺手,或者网上根本没有这种工具,有些EXP和POC需要自己编写。这些时候就要自己开发工具了,开发工具主要就是python和C#。
推荐一下相关书籍(无商业关系)
05 服务器安全配置(10天)
首先要熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist等;
然后学习服务器环境配置,并能通过思考发现配置存在的安全问题。
例如:
Windows环境下的IIS配置,特别注意配置安全和运行权限;
Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;
远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
配置软件Waf加强系统安全,在服务器配置mod_security等系统通过。
推荐一下相关书籍(无商业关系)
通过最起码160天的学习,我觉得就可以入门web安全了,至于剩下的只能靠你自己探索了。希望这篇文章能够给大家带来帮助。
想交流的可以关注微信公众号:sec0-1
http://weixin.qq.com/r/QDgoMH-EwSK_rTtT921S (二维码自动识别)
最后送给大家一句话:
想要了解某个技术,请阅读一些相关文档;
想要明白某个技术,请尝试实践这些技术;
想要悟透某个技术,请尝试向他人讲解此技术。