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,xxfweb手爱不释手。可以说没有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/
总结
针对以上技术内容,博主会陆续创作技术分享。敬请期待~
CTF之WEB学习路线规划的更多相关文章
- WEB学习路线2019完整版(附视频教程+网盘下载地址)
WEB学习路线2019完整版(附视频教程+网盘下载地址).适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是 ...
- Java Web 学习路线
实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...
- 零基础快速入门web学习路线(含视频教程)
下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...
- Java Web学习路线
2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...
- 我推荐的 Java Web 学习路线
晚上再 V2 的 Java 的节点看到有人问 Java Web 书籍推荐.我这半年多的时间,也从别的方向开始转向 Java 服务端开发,所以,我来说下我的学习路线,帮助有需要的朋友把半只脚踏进 Spr ...
- PHP的学习路线规划
第一阶段:WEB的快速入门 前期入门学习我们需要学一些HTML+CSS+JS前端的一些技术,这个阶段不需要太深入的学习,学习到可以制作出一个像样点的静态页面就可以了.因为大家是学习PHP,对于新人来说 ...
- Linux再学习(一)-学习路线规划
1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的"命令行+文件"模式 在Linux中,做什么都有相应命令.一般就在bin或者sb ...
- web学习路线
- 2019最新WEB前端开发小白必看的学习路线(附学习视频教程)
2019最新WEB前端开发小白必看的学习路线(附学习视频教程).web前端自学之路:史上最全web学习路线,HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次 ...
- ios 学习路线总结
学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...
随机推荐
- PP视频(PPTV聚力)web接口分析
前言 前几天我想看一个番剧, 正好搜索到了 PP视频,我才知道PP视频就是PPTV聚力,我想把番剧下载下来,结果发现视频竟然不是m3u8格式,而是多段mp4,所以简单的写了个脚本,可以在不登录的情况下 ...
- 【kafka】JDBC connector进行表数据增量同步过程中的源表与目标表时间不一致问题解决
〇.参考资料 一.现象 1.Oracle源表数据 2.PG同步后的表数据 3.现象 时间不一致,差了8个小时 4.查看对应的connector信息 (1)source { "connecto ...
- Java框架--SSM&Oracle&Maven高级
〇.内容介绍 一.MyBatis01:框架概述.环境搭建及入门案例.自定义框架 1.介绍 框架:封装细节,是开发中的解决方案 三层架构与SSM的关系 表示层web:SpringMVC框架 业务层ser ...
- Mybatis-Plus 对 json 的存储使用支持
Mybatis-Plus 对 json 的存储使用支持 场景分析: 随着数据库对字段类型支持的多元化,json 类型的存储已成为多场景高频使用的字段类型.而 MySql.postgrpSql 等都支持 ...
- java抽象类的定义和使用
1. 抽象类的规则 ● 抽象类不可以被实例化,也就是不能被new,会出现编译错误.抽象类如果想实例化可以通过非抽象子类的方式去实现. ● 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类.而且抽 ...
- 时间片差分调度法-充分利用MCU的资源
前言 通过该篇学习了嵌入式的任务调度(即时间片论法)后,了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务,那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源,姑且先称这种方式 ...
- gin模板语法
输出数据: 语句:{{.}} 用法: 在html文件中调用 输出里面的结果 多个目录下定义模板: 语句:{{ define "xxx目录/xxx文件.html"}} ...
- 再聊一下那 SQLSERVER 行不能跨页的事
一:背景 1. 讲故事 上一篇写完了之后,马上就有朋友留言对记录行的 8060byte 限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max),长度很显然是超 ...
- S2-009 CVE-2011-3923
漏洞名称 CVE-2011-3923 S2-009 远程代码执行漏洞 利用条件 Struts 2.0.0 - Struts 2.3.1.1 漏洞原理 OGNL提供了广泛的表达式评估功能等功能.该漏洞允 ...
- Asp-Net-Webapi项目从Framework-4-5升级到-Net-6的总结
title: Asp.Net Webapi项目从Framework 4.5升级到.Net 6的总结 date: 2022-10-06 14:31:36 tags: - .NET 前言 目前手头上有个项 ...