序-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设计指南>译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
随机推荐
- Android开发Activity全局切换的动画效果
切换动画 slide_left_in.xml 从左边进 --> 退出的时候使用 <?xml version="1.0" encoding="utf-8&quo ...
- 用华为MindSpore框架训练数据库类型的数据集
技术背景 在前面一篇博客我们讲到三种用python去读取一个文件的指定行的操作,最终给出的一个结论大概是,对于大型的数据而言,最快的找到指定行的方法是Linux系统自带的sed指令,那么是否只有这一种 ...
- Go语言基础包之net/http
Go语言基础包之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的 ...
- 安装Linux操作系统过程及出现的问题
写在前面的话:由于是昨天装的,很多图片没来得及及时的保存,只好凭记忆回想,出现的问题只能回忆起大致的操作及应用软件. 另外,目前是小白一枚. 在安装时,我一开始想直接采用硬盘安装,参考帖子:http: ...
- 多目标跟踪:CVPR2019论文阅读
多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.0385 ...
- TensorFlow csv读取文件数据(代码实现)
TensorFlow csv读取文件数据(代码实现) 大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 Tens ...
- 七、SSL加密网站(待解决)
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore //创建私钥和证书文件提示输入密 ...
- 【NX二次开发】Block UI 通过浏览选择文件
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...
- Sublime Text 4 破解笔记
Sublime Text 4 破解笔记 偶然看到Sublime已经更新到版本4了,多了许多很nice的新特性,例如: 船新 UI 感知上下文的自动补全 支持 TypeScript, JSX 和 TSX ...