序-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安全的天花板了,想要突破或者更上一层很难靠自身实现了,这时候你得有好的团队、好的平台让你大展身手。
不过学海无涯,要学的东西依旧很多,选好自己的方向,你终有一天会成为大佬的!
序-WEB方向指南的更多相关文章
- 10招搞定web设计风格指南
From:http://www.ui.cn/detail/27579.html 今时今日,网站的创建正变得越来越复杂,而且一般都不是一个人就能干的了的.在创建网站过程中,我们需要保证设计前后一致,并符 ...
- 走进小作坊(十一)----移动web实现指南
四.五年前智能手机行业刚刚兴起,差别于之前功能机阉割版的web开发方式,一些学者就開始探索移动web的UI方向了.从PC迁移到移动端的web设计现成可用的原则有,很多其它的则是依据移动端独有特点进行探 ...
- [转帖]2019 简易Web开发指南
2019 简易Web开发指南 2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术 ...
- Python Web 方向(一)
Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...
- Django web 开发指南 no such table:
在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...
- web方向编程语言最全对比
web方向编程语言最全对比 目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,node.js,ruby on rails 等. java 优点:性能 ...
- Django Web开发指南笔记
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...
- WEB安全指南
说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...
- <HTML5和CSS3响应式WEB设计指南>译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
随机推荐
- Django 基本操作
www.djangobook.comdjangobook.py3k.cn 1.django-admin.py startproject mysite2.manage.py startapp blog3 ...
- WebConfig配置,添加静态资源,外部可以直接访问地址
此配置是处理springboot拦截静态文件的 代码如下: @Configuration public class WebMvcConfig implements WebMvcConfigurer { ...
- node.js学习(4)事件
1 导入事件库
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- ADAS超声波雷达
ADAS超声波雷达 在倒车入库,慢慢挪动车子的过程中,在驾驶室内能听到"滴滴滴"的声音,这些声音就是根据超声波雷达的检测距离给司机的反馈信息. 倒车雷达系统,英文全称为REVERS ...
- 编译原理-文法(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}的 ...
- MapReduce —— MapTask阶段源码分析(Output环节)
Dream car 镇楼 ~ ! 接上一节Input环节,接下来分析 output环节.代码在runNewMapper()方法中: private <INKEY,INVALUE,OUTKEY,O ...
- [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...
- 数据结构与算法Python版 熟悉哈希表,了解Python字典底层实现
Hash Table 散列表(hash table)也被称为哈希表,它是一种根据键(key)来存储值(value)的特殊线性结构. 常用于迅速的无序单点查找,其查找速度可达到常数级别的O(1). 散列 ...
- NX二次开发-曲线或边分析函数
UF_EVAL_is_arc 判断是圆形曲线或边UF_EVAL_ask_arc 圆形曲线或边分析,得到曲线或边的信息 类似的函数还有以下这些: UF_EVAL_is_ellipse // 椭圆UF ...