在网上看了一篇文章《零基础如何学习 Web 安全?》,虽然不少东西的都不是很懂,感受挺好的copy过来,慢慢消化:html
文章地址:https://www.zhihu.com/question/21606800/answer/22268855前端
由于正好Web安全是我擅长的,你说的是0基础,我总结下个人一些见解吧,针对0基础的。nginx
一. 首先你得了解Web数据库
Web分为好几层,一图胜千言:
事实是这样的:若是你不了解这些研究对象是不可能搞好安全研究的。
这样看来,Web有八层(若是把浏览器也算进去,就九层啦,九阳神功……)!!!每层都有几十种主流组件!!!这该怎么办?
别急,一法通则万法通,这是横向的层,纵向就是数据流啦!搞定好数据流:从横向的层,从上到下→从下到上,认真看看这些数据在每一个层是怎么个处理的。编程
数据流中,有个关键的是HTTP协议,从上到下→从下到上的头尾两端(即请求响应),搞通!难吗?《HTTP权威指南》720页!!!坑爹,好难!!!后端
怎么办?浏览器
横向那么复杂、纵向数据流的HTTP协议就720页的书!!!放弃好了……安全
不,千万别这样。微信
给你点信心是:《HTTP权威指南》这本书我压根没看过。可是经过百度/Google一些入门的HTTP协议,我作了大概了解,而后Chrome浏览器F12实际看看“Network”标签里的HTTP请求响应,不出几小时,就大概知道HTTP协议这玩意了。(这是快速研究的精髓啊)网络
搞明白HTTP协议后,你就会明白安全术语的“输入输出”。
黑客经过输入提交“特殊数据”,特殊数据在数据流的每一个层处理,若是某个层没处理好,在输出的时候,就会出现相应层的安全问题。
精彩举例:1. 若是在操做系统层上没处理好,好比Linux的Bash环境把“特殊数据”当作 指令执行时,就产生了 OS命令执行的安全问题,这段“特殊数据”可能长得以下这般:
; rm -rf /;
2. 若是在存储层的数据库中没处理好,数据库的SQL解析引擎把这个“特殊数据”当作 指令执行时,就产生 SQL注入这样的安全问题,这段“特殊数据”可能长得以下这般:
' union select user, pwd, 1, 2, 3, 4 from users--
3. 若是在Web容器层如nginx中没处理好,nginx把“特殊数据”当作 指令执行时,可能会产生远程溢出、DoS等各类安全问题,这段“特殊数据”可能长得以下这般:
%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%20
4. 若是在Web开发框架或Web应用层中没处理好,把“特殊数据”当作 指令执行时,可能会产生远程命令执行的安全问题,这段“特殊数据”可能长得以下这般:
eval($_REQUEST['x']);
5. 若是在Web前端层中没处理好,浏览器的JS引擎把“特殊数据”当作 指令执行时,可能会产生XSS跨站脚本的安全问题,这段“特殊数据”可能长得以下这般:
'"><script>alert(/cos is my hero./)</script>
...
你好像悟到了点什么,我们继续……
前面说了:若是你不了解这些研究对象是不可能搞好安全研究的。
拿我XSS来讲,曾经有人问我,我回答的一个:在学习XSS前我应该学习什么?你可与参考下。
假如我曾经要不是比较熟JavaScript、ActionScript、HTML/CSS的话,我估计我要研究好XSS是很困难的,我熟悉这些语言刚开始的出发点是想“创造”,我作了好些Flash动画、作了好些网站、包括本身从后端到前端独立实现过一个博客系统,为了解决好前端在各浏览器的兼容问题(当时是IE6如日中天的时候),我啃了好几本书,如《CSS网站布局实录》、《JavaScript DOM编程艺术》、《AJAX Hacks》、Flash从6版本以来到CS2的各种书籍我都多少看过,也实战过,这一切都是在大学前三年搞定的。
大学第四年冲刺Web安全(长期以来有黑客情怀),大四下学期进入知道创宇(刚创业起步),而后到了如今,一晃在知道创宇六年。
说到这,很清晰啦:若是你不了解这些研究对象是不可能搞好安全研究的。
我们继续:)
二. 黑客兵器谱
新人入门总在寻找好工具来提升效率,Web安全这块我以前放出了个人“兵器谱”,在这:个人渗透利器(会不断抽时间更新)。
工欲善其事必先利其器嘛,并且新人用了好兵器会更有成就感的。
切记:这些兵器,你不只要知其然还得知其因此然,别堕落了哦。
三. 明白“精于一而悟道”的道理
很少说,请看这个人回答:对于立志在网络安全领域发展,应该如何系统学习安全知识?
四. 融入圈子
多结交些靠谱的黑客,搞搞基啦(不过别来真的,还有我好讨厌扯淡/水得不得了的人),微博(含:Twitter)、QQ、微信、知乎、博客等善于跟进,不只学,也要分享,让你们知道你的存在,更有利于交流与成长。
若是你对我有兴趣,能够看个人介绍:关于余弦,我自认为我本身靠谱(不,这不是浮夸,这是自信)。
关于“圈子”,我想说:别把本身局限住。
最后,再次引用黑哥的一句话:“整就牛!”