前言

受大佬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学习路线规划的更多相关文章

  1. WEB学习路线2019完整版(附视频教程+网盘下载地址)

    WEB学习路线2019完整版(附视频教程+网盘下载地址).适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是 ...

  2. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  3. 零基础快速入门web学习路线(含视频教程)

    下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...

  4. Java Web学习路线

    2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...

  5. 我推荐的 Java Web 学习路线

    晚上再 V2 的 Java 的节点看到有人问 Java Web 书籍推荐.我这半年多的时间,也从别的方向开始转向 Java 服务端开发,所以,我来说下我的学习路线,帮助有需要的朋友把半只脚踏进 Spr ...

  6. PHP的学习路线规划

    第一阶段:WEB的快速入门 前期入门学习我们需要学一些HTML+CSS+JS前端的一些技术,这个阶段不需要太深入的学习,学习到可以制作出一个像样点的静态页面就可以了.因为大家是学习PHP,对于新人来说 ...

  7. Linux再学习(一)-学习路线规划

    1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的"命令行+文件"模式 在Linux中,做什么都有相应命令.一般就在bin或者sb ...

  8. web学习路线

  9. 2019最新WEB前端开发小白必看的学习路线(附学习视频教程)

    2019最新WEB前端开发小白必看的学习路线(附学习视频教程).web前端自学之路:史上最全web学习路线,HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次 ...

  10. ios 学习路线总结

    学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...

随机推荐

  1. 在Windows模拟器中使用LVGL8.3

    引言 LVGL是一个跨平台.轻量级.易于移植的图形库.也因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差异性,相关的使用教程有一定的滞后性,由于缺少最新版本的中文教 ...

  2. Idea中Git的常用操作及可能存在的问题

    一.使用 1.从git上下载项目 (1)默认branch下载(pull) (2)指定branch下载 (3)克隆远程仓库到本地(git clone) git clone https://github. ...

  3. MIsc writeup

    1. 杂项 图片里面有什么 ,附件为一张图片 通过Binwalk查看发现有压缩包,通过foremost分离一下. 打开输出文件,发现里面有两个图片. 00000000.png是原图,00000722. ...

  4. python 异步写入文件

    # -*- coding:utf-8 -*-import asyncioimport aiofilesimport time#异步操作时,函数名前必须加上asyncasync def func1(): ...

  5. 如何用 JavaScript 编写你的第一个单元测试

    前言 测试代码是使代码安全的第一步.做到这一点的最好方法之一是使用单元测试,确保应用程序中的每个小功能都能发挥其应有的作用--特别是当应用程序处于边缘情况,比如无效的输入,或有潜在危害的输入. 为什么 ...

  6. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(6) - Flask表单的实现

    1.表单介绍 1.1.表单知识回顾 常见的表单元素: 表单标签<form> action:表单提交的URL地址 method:表单请求的方式(GET/POSt) enctype:请求内容的 ...

  7. SQLMap入门——获取数据库中的表名

    查询完数据库后,查询指定数据库中所有的表名 python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D xssplatf ...

  8. 图解B树及C#实现(2)数据的读取及遍历

    目录 前言 查询数据 算法说明 代码实现 查询最值 算法说明 代码实现 B树的遍历 算法说明 代码实现 Benchmarks 总结 参考资料 前言 本文为系列文章 B树的定义及数据的插入 数据的读取及 ...

  9. Jmeter 之吞吐量控制器

    作用: 吞吐量控制器可用来模拟混合场景的压测业务,即一部分用户执行场景A,一部分用户执行场景B 字段说明: Total Excutions:执行请求总数 Percent Excutions:执行线程数 ...

  10. APP异常测试点汇总

    在测试APP时异常测试是非常必要的. 安装卸载中的异常测试 一.安装 安装过程中设备重启 安装过程中息屏 安装过程中断网 安装过程中切换网络 安装过程中收到短信提醒 安装过程中收到来电提醒 安装过程中 ...