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安全的天花板了,想要突破或者更上一层很难靠自身实现了,这时候你得有好的团队、好的平台让你大展身手。

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

  

  

  

  

  

序-WEB方向指南的更多相关文章

  1. 10招搞定web设计风格指南

    From:http://www.ui.cn/detail/27579.html 今时今日,网站的创建正变得越来越复杂,而且一般都不是一个人就能干的了的.在创建网站过程中,我们需要保证设计前后一致,并符 ...

  2. 走进小作坊(十一)----移动web实现指南

    四.五年前智能手机行业刚刚兴起,差别于之前功能机阉割版的web开发方式,一些学者就開始探索移动web的UI方向了.从PC迁移到移动端的web设计现成可用的原则有,很多其它的则是依据移动端独有特点进行探 ...

  3. [转帖]2019 简易Web开发指南

    2019 简易Web开发指南     2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术 ...

  4. Python Web 方向(一)

    Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...

  5. Django web 开发指南 no such table:

    在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...

  6. web方向编程语言最全对比

    web方向编程语言最全对比 目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,node.js,ruby on rails 等. java 优点:性能 ...

  7. Django Web开发指南笔记

    Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...

  8. WEB安全指南

    说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...

  9. <HTML5和CSS3响应式WEB设计指南>译者序

    "不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...

随机推荐

  1. Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用

    写在前面   Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择. 简单说下kong对比ocelot打动我的 ...

  2. ubuntu设置允许root用户登录

    一.允许ssh登录root用户(命令行) 1.修改root 密码,sudo passwd root 2.修改ssh配置, sudo vim /etc/ssh/shd_config,修改文件中的Perm ...

  3. Step By Step(Lua基础知识)

    Step By Step(Lua基础知识) 一.基础知识:    1. 第一个程序和函数:    在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如:    /> l ...

  4. ZooKeeper学习笔记二:API基本使用

    Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...

  5. 图像超分辨率算法:CVPR2020

    图像超分辨率算法:CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址: http://openaccess.t ...

  6. TVM源码框架安装方法

    TVM源码框架安装方法 本文提供如何在各种系统上从零构建和安装TVM包的说明.它包括两个步骤: 首先从C++代码中构建共享库(linux的libtvm.so,macOS的libtvm.dylib和wi ...

  7. 虹软人脸识别SDK接入Milvus实现海量人脸快速检索

    一.背景 人脸识别是近年来最热门的计算机视觉领域的应用之一,而且现在已经出现了非常多的人脸识别算法,如:DeepID.FaceNet.DeepFace等等.人脸识别被广泛应用于景区.客运.酒店.办公室 ...

  8. P2365 任务安排

    题目描述 n 个任务排成一个序列在一台机器上等待完成(顺序不得改变),这 n 个任务被分成若干批,每批包含相邻的若干任务. 从零时刻开始,这些任务被分批加工,第 i 个任务单独完成所需的时间为 ti​ ...

  9. 【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  10. 每日三道面试题,通往自由的道路4——JVM篇

    茫茫人海千千万万,感谢这一秒你看到这里.希望我的面试题系列能对你的有所帮助!共勉! 愿你在未来的日子,保持热爱,奔赴山海! 每日三道面试题,成就更好自我 昨天既然你有讲到字符串常量池是吧,那这样吧 1 ...