前言

受大佬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. C温故补缺(六):C反汇编常用的AT&Tx86语法

    C语言反汇编用到的AT&T x86汇编语法 参考:CSDN1,CSDN2 默认gcc -S汇编出的,以及反汇编出的,都是AT&T x86代码,可以用-masm=intel指定为inte ...

  2. ValueError: Detected newline in header value. This is a potential security problem

    原因 flask框架进行重定向的url中包含 换行符\n或\r 解决方法 使用 strip() 函数去除行首或行尾的换行符(如果你url中间包含这些符号replace函数替换, 但是如果中间包含只能说 ...

  3. linux 使用ACR122U-A9设备读写M1卡

    前言 很久之前我在windows用过这个ACR122U-A9设备, 还挺好用,但是换了linux后,突然想又想用这个设备又是一顿折腾- 关于这个设备 其实这个设备只能读取M1卡(水卡这种),当时什么都 ...

  4. 复现MySQL的索引选择失误以及通过OPTIMIZER_TRACE分析过程

    复现MySQL的索引选择失误以及通过OPTIMIZER_TRACE分析过程 验证环境:MySQL 5.7.39 windows-pc 一.构造数据(生成150万数据) 构建一张账户表,带有一级部门id ...

  5. linux 删除influxdb的某条数据

    1.进入服务器,输入: influx 进入influxdb 2.继续输入: show databases 显示所有的数据库名称 3.继续输入: use database 使用某一个数据库 ps:此处的 ...

  6. python 实现DES加解密

    from pyDes import * import base64 class Des3(object): def __init__(self, key, iv): # 这里密钥key长度必须为16/ ...

  7. 2022NewStarCTF新生赛一些比较有意思的题目wp

    Misc_蚁剑流量分析 Pcap的文件可以直接使用工具 编辑器打开目录,一个一个看,可以找到eval危险函数 看到n3wst4r,直接使用linux正则匹配,找出相关内容 Url解码,了解一下蚁剑流量 ...

  8. 正确理解和使用JAVA中的字符串常量池

    前言 研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池.Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串.它的实 ...

  9. 【转载】SQL Server FileStream 体验

    FileStream是SQL Server 2008提供的新特性,之前附件在SQL的存储一种是直接放数据库,一种是存储一个路径,附件单独放在磁盘上.前一种方法会使数据库空间更快变大,而且读写占用较多数 ...

  10. yolov5数据集制作 数据集分割+voc格式转txt格式代码

    先上数据集分割代码 网上没找到合适的 自己写了一个 分割比例为0.6 :0.2 :0.2 import os import random oriImgDir = "./change14img ...