CTF之WEB学习路线规划
前言
受大佬Lzer0Kx(公众号:LK安全)启发,打算整一篇关于CTF-web的学习路线的分享。当然也算是给一些刚入门的小白的一些学习方向,不至于不知道学啥。废话少说,开整!
以下的所有内容属于我个人的经验分享,且只适用于想入门的小伙伴,以下内容均不会推荐教程,硬要推荐的话请认准 https://www.bilibili.com/
语言篇
这里说的语言基础真是基础,而不是要让你达到可以独立开发一个项目的地步
有一说一,夯实的语言基础是网络安全的必备技能,在学习的过程中我们会接触到各种各样的语言,像c,c++,python,php,html,js,java
等等。所以学习的第一步,选择一门编程语言入门,并进行一定的深入学习,那之后学习其它语言的时候会达到事半功倍的效果,因为你会发现只是一些语法以及处理方式的改变,其逻辑是大体相同的。以下推荐入门学习的编程语言
Python
python作为业内公认的胶水
,且深受广大Ctfer的欢迎,是入门语言的不二之选。其简易的写法以及各种集成库极大方便了ctfer在赛场上的发挥。这里博主推荐python基础语法
搭配着爬虫
去学,这算是一个web手必备的专业素养了
PHP
php由于历史版本的原因,存在着较多的漏洞,算是业内的扛把子了。同时这也是web手最适合磨练自己的语言,因为基础的漏洞基本都跟php沾点边,漏洞的入门学习也都是从php出发的,如果有较好的编程基础,甚至不用专门学习php的语法,看着看着就会了,不会的直接现查就行了
HTML
HTML作为一种超文本标记语言,往往出现在网站代码的编写中。成为web手会的第一件事就是右键查看页面源代码看html藏着什么好东西。HTML的体现就在浏览器中,因此HTML可以在php文件里穿插着写,总之能在浏览器体现就行
总结
有句老话说的好,不懂开发的安全人员不是一个好安全人员,作为一个web手,我们还得了解一个网站的基本架构,并且得自己亲手写一些简单页面,搭一个简易网站。越了解网站,你的硬实力相应的也会越强,不管是在ctf还是在src中都会更加容易的理解本质
网络篇
这里指一些网络协议的学习,其实只列了一种协议,因为入门学习嘛(doge)
HTTP协议
HTTP协议,web手基本一生都在跟它打交道,抓包改包都离不开HTTP的辛勤奉献,什么GET,POST,PUT
请求web手牢记于心,什么cookie,seesion,User-Agent,xxf
web手爱不释手。可以说没有http协议就没有web手
总结
在ctf中其实也就HTTP协议体现的最多,其它的一些协议,例如arp协议,ICMP协议
在网络攻击中会体现出来,或许AWD可能需要此类知识,当然不是说不学,只是暂时可以分个学习先后
漏洞篇
随便网上找一张OWASP-TOP10的图就能知道你该了解的漏洞,这里列举一些基础漏洞
· 信息泄漏
· SQL注入
· 文件上传
· 文件包含
· XSS
· 命令执行
以上漏洞全都学会,就可以试着打一些新生赛了,赛场是最能磨练你所学的技术的地方。当然上面的漏洞可以搭配着网上的一些开源靶场来联手,比如
sqli-labs
,xss-labs
等等
提升篇
过完以上内容,就可以算一个简单的web手了,能够在一些入门赛中风生水起,当然这还远远不够,在打一些稍微中端赛肯定还是会碰壁,这里介绍一些常在较为困难的赛事中的考点。针对以下内容,博主会开个新系列技术分享!!!
PHP反序列化
惊不惊喜,意不意外,又是PHP,但是这次的PHP上强度了,反序列化可能打击过了大部分的web手,因为可能稍微有点晦涩难懂,比较耗脑子。这里推荐y4爷写的反序列化总结,写的嘎嘎好->https://y4tacker.blog.csdn.net/article/details/113588692/。有这一篇就够了!!
SSTI模板注入
常见的SSTI注入出现在python flask框架,php也有smarty框架有这个漏洞,这里就考查你对flask和python类的熟悉程度了,丢个博客->https://blog.csdn.net/LYJ20010728/article/details/120205725
JS原型链污染
这里就考你对js函数的了解程度了,继续丢博客->https://cbatl.gitee.io/2021/10/19/jsprototype/
SSRF
百度百科:
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造,由服务端发起请求的一个网络攻击,一般用来在外网探测或攻击内网服务,其影响效果根据服务器用的函数不同,从而造成不同的影响。
这个漏洞理解起来也稍微有些困难,且利用比较废脑子。
JAVA安全
大头,巨头,这方面的学习不亚于以上所有的加起来了,而且目前ctf困难题的出题似乎都在往java安全出,这里也丢个链接: https://javasec.org/
总结
针对以上技术内容,博主会陆续创作技术分享。敬请期待~