序-WEB方向指南

  WEB

  这个方向其实是目前从业人员最多的方向,也是学习安全门槛最低的方向,当然也是最容易恰饭的方向。

  我从入行到现在也依旧没有脱离它,毕竟在我这个小城市、小圈子里,不干这个好像就要没饭吃了,但是你说它难吗好像天花板低了点,

你说它不难,好像也不是一两天就能学会的。

  你要问我学它之前需要什么知识?我想想啊,好像会基础用电脑就好了,会用浏览器看网页就算可以了,至于后面的深入可以慢慢补嘛。

不过你在学之前要是会一些网络知识、编程知识或者操作系统的知识那就更好了。

  

  从哪里开始

  万事总是开头难,但开了头再进步就容易多了。我给大家起个引子:

  web其实最常打交道的东西是浏览器,那我们就从浏览器开始入手吧!

  虽然大家都用过浏览器,但是可能都没有观察过,你访问网页点击的链接到底是什么?

  这个用比较专业的词描述叫URL,URL的结构是有规律的,大体可以拆成这样:

  https://     i.cnblogs.com     /TJWater/    ?a=1&b=2

   协议       主域名(domain)   路径(path)  参数(a=1  b=2)

  是不是清楚多了,以此做延伸,你的学习顺序:

    1.观察各种类型的url并拆分他们

    2.了解网络协议,并了解http和https的区别

    3.了解浏览器的同源策略

    4.自己动手安装burpsuite,并实现抓取https请求

    5.认识请求包的构造、返回包的构造,并了解其含义

  到这里你基本的网络知识已经具备了,所以说什么网络七层协议模型那种不实用的东西是一开始要学的嘛?那些根本不适合入门嘛!

  这里推荐一本非常适合入门的书,可以边看边学的那种:《白帽子讲web安全》

 

  继续的路程

  如果你坚持到了这里说明你是这块料,加油!入门了嘛?很遗憾的告诉你没有。重头戏才刚刚开始:

  第一步去百度一下啥是OWASP_TOP10

  这块是重点了,先去安装个虚拟机,搭个phpstudy和DVWA,或者直接下个Metasploitable2,然后靶场环境就有了可以开始学习web漏洞了。

  web几种常见漏洞和需要的知识:

  一、SQL注入漏洞

  这个漏洞太著名了,第一个学准没错

  储备知识:基础SQL语句

  学习方法:照着教程撸!!!先撸MYSQL的就行。当然想学好就得背注入语句,复制粘贴学不会的相信我。

        顺便一提某位大佬让我手抄sql注入语言真的很管用,再次感谢大佬指导!!!

  进阶:报错注入、延时、布尔注入,撸会了基本就差不多了,可以上SQLab大杀四方了,基本都是变种很容易搞,顺便学学绕过技巧。

     学会手注之后再去碰sqlmap,不然一辈子都是菜鸡,虽然以后可能用sqlmap的时间比较多,但是打不好基础没啥用,你以后遇到需要绕过自己写脚本跑的就傻了。

  

  二、跨站脚本攻击(xss漏洞)

  一定要记住中文名,为什么呢?你慢慢就理解了,就记住跨站、脚本这两个关键字!

  储备知识:基础html、进阶javscript

  学习方法:这个漏洞不太好学,刚开始学会html的注入就行,然后慢慢的理解javascript和其耦合。

        至于存储型、反射型不必太在意原理一样。DOM型比较难搞,可以当进阶。

  进阶:这个洞比较难的其实,而且实践少很难学的会。边工作边学习是最好的方式,或者看别人的漏洞报告(如果有机会),不过一定不要跑偏的认为alert才是xss。

      如果想深入研究,推荐一本书《Web 前端黑客技术与揭秘》。

 

  三、跨站请求伪造(CSRF漏洞)

  哎?跟第二个一样?仔细看中文,为啥让你记中文!这俩洞新手最容易搞混,因为利用结果太像了,这个洞记住跨站、伪造请求两个关键字!

  储备知识:基础html、Ajax原理

  学习方法:太简单自己学,就是别搞混了!

  进阶:考虑考虑如果Content-Type只接受json格式,你怎么搞?提示:Ajax、javascript。这里别直接百度了,很多是错的。

 

  四、任意文件上传漏洞、文件包含漏洞

  这个两个也比较简单,但是需要有点代码基础。为啥放一起?学过的人都知道,先学上传漏洞就行。

  储备知识:php基本语法,能读懂即可

  学习方法:跟着百度淦靶机!!!

  进阶:这俩漏洞其实现在已经可以说是php专属漏洞了,其他语言基本都没了。如果懂其他后端语言的,可以去研究一下为啥没有,都怎么防御的。

 

  五、逻辑漏洞、敏感信息泄露漏洞

  没啥好说的,毫无技术含量,但出现频率异常高,危害异常的大

  储备知识:看得懂http包(额...)

  学习方法:乌云...可惜没了,好吧,这个自己悟就行

  进阶:别啥玩意都说信息泄露,自己好好想想,现在业内的某些人总是以此找存在感,无趣!

  

  六、水平越权和垂直越权

  其实是一个洞,但是维度不一样,找的时候自己区分区分,对自己有好处

  储备知识:见上一条

  学习方法:自己悟

  进阶:权限其实很难做的全面的,不过现在出了很多框架解决这类问题,思路很好,但是程序员从此不是更菜了吗?哎,愿多点重视技术的人吧。

 

  基本漏洞和常见的就这些,其实还有一些,我觉得算是进阶的吧,如:SSRF、条件竞争、反序列化等。这些在生产环境其实挺多见的,但是很难挖,所以也不好

  练习,这块倒是CTF是个练习渠道,去那些地方玩吧。

  

  web人不得不提的那些东西

  恭喜恭喜,恭喜入门web!

  到此基本漏洞你懂了,内功也有了一些,可以开始学招式了。kali-linux是最好的选择,这里推荐大家去看安全牛的kali-linux视频,讲的又细又好。

  这块可能也得下一定时间才能出事,然后就可以去学学市面上常用的工具使用了(如果没有代码基础,我还是建议和代码学习并行,python是最好的选择)。

  基础内容:kali常用工具,从信息收集到内网。

  进阶:各种技术的网络原理,理解网络传输的本质。

 

  学无止境

  能读到这里的,恭喜你,出师了,再去看其他安全文章也如鱼得水!

  如果你基础都学完了,至少出去找份像样的工作已经没问题了。如果你连我说的进阶学的都很好,那你已经是业内中等水平了。

  这时候你应该对web安全有了一些自己的认识,后面的放向也有了一些想法。但是如果你的语言基础还不牢靠,我建议同学们选一门语言从头学起来,钻研一下语言里高级的东西,不要浅尝辄止。

  当然,你干web的话我主推还是python或者go,当然你后面会发现一门语言根本不够用,学黑客的起码都会3种以上的哈哈。。。

  语言如果你也学完的话,至此,你其实已经摸到了web安全的天花板了,想要突破或者更上一层很难靠自身实现了,这时候你得有好的团队、好的平台让你大展身手。

  不过学海无涯,要学的东西依旧很多,选好自己的方向,你终有一天会成为大佬的!

  

 

  

 

 

 

 

  

  

  

posted @ 2021-02-07 19:05  TJ_WaTer  阅读(193)  评论(0编辑  收藏  举报