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. Django 基本操作

    www.djangobook.comdjangobook.py3k.cn 1.django-admin.py startproject mysite2.manage.py startapp blog3 ...

  2. WebConfig配置,添加静态资源,外部可以直接访问地址

    此配置是处理springboot拦截静态文件的 代码如下: @Configuration public class WebMvcConfig implements WebMvcConfigurer { ...

  3. node.js学习(4)事件

    1 导入事件库

  4. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  5. ADAS超声波雷达

    ADAS超声波雷达 在倒车入库,慢慢挪动车子的过程中,在驾驶室内能听到"滴滴滴"的声音,这些声音就是根据超声波雷达的检测距离给司机的反馈信息. 倒车雷达系统,英文全称为REVERS ...

  6. 编译原理-文法(G)和语言(L)

    1.设文法G2(S): S->AB A->aA|a B->bB|b G2(S)产生的语言是什么? 解:L(G2)={ambn|m,n≥1} 2.请给出产生语言为{anbn|n≥1}的 ...

  7. MapReduce —— MapTask阶段源码分析(Output环节)

    Dream car 镇楼 ~ ! 接上一节Input环节,接下来分析 output环节.代码在runNewMapper()方法中: private <INKEY,INVALUE,OUTKEY,O ...

  8. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  9. 数据结构与算法Python版 熟悉哈希表,了解Python字典底层实现

    Hash Table 散列表(hash table)也被称为哈希表,它是一种根据键(key)来存储值(value)的特殊线性结构. 常用于迅速的无序单点查找,其查找速度可达到常数级别的O(1). 散列 ...

  10. NX二次开发-曲线或边分析函数

    UF_EVAL_is_arc   判断是圆形曲线或边UF_EVAL_ask_arc 圆形曲线或边分析,得到曲线或边的信息 类似的函数还有以下这些: UF_EVAL_is_ellipse // 椭圆UF ...