CTF-WEB的知识体系

CTF概念

CTF是Capture The Flag的缩写,中文一般译作夺旗赛
CTF起源于1996年DEFCON全球黑客大会
DEFCONCTF是全球技术水平和影响力最高的CTF竞赛

竞赛模式

解题模式:解决网络安全技术挑战(即找到flag),提交后获取相应分值。
攻防赛模式:要求找到其他队伍的薄弱环节进行攻击,同时对自己的靶机环境进行加固防守。
战争分享模式:由参赛队伍相互出题挑战。

竞赛内容

1.WEB:网络攻防
2.Reverse:逆向工程
3.PWN:二进制漏洞
4.Crypto: 密码学
5.Mobile: 移动安全
6.Misc:安全杂项

Burp Suite工具

使用Java编写的一个用于测试网络应用程序安全性的图形化工具。
主要功能
1.拦截、查看或者修改网络请求和响应
2.扫描web应用程序的安全漏洞。
3.自动化攻击web应用
4.对数据编码和解码

Webshell管理工具

蚁剑:网站管理工具,面向于渗透测试安全人员以及网站管理员
冰蝎:通信过程中使用AES加密
哥斯拉:替代工具。

考点1:PHP弱类型

弱类型简单来说就是数据类型可以被忽视的语言,同一变量在不同类型中是不同的值。
CTF比赛中需要掌握
1.理解= =和= = =的区别
2.MD5验证绕过方法
比如下面的admin=0是true 'admin’是一个字符型他和整型0作比较 那么’admin’转化为整形的值是0
"1admin"字符串转化为整型为前面的值1
"admin1"字符串转化为整型为前面的值0
在这里插入图片描述

考点2: SQL注入

SQL注入是将Web页面的原URL、表单域或数据包输入的参数 修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。
CTF比赛中需要掌握:
1.联合查询注入
select username from users where id=“$id” 这个是正确的语句
select username from users where id=“-1” 前面为正确语句
union select password from users #" union是把多重查询的结果合并起来 而后面又是一个语句 #是把后面多余的“注释掉
这样子我们就可以得到id为-1的username和users表中字段password的数据
2.报错注入
和联合查询的区别是 联合查询是给出我们数据 而报错注入只会有正确和错误的信息
3.盲注
这个的话如果是报错的话不会显示具体信息 一般通过布尔盲注和时间盲注来判断
4.宽字节注入
5.二次注入

考点3: 文件上传

文件上传漏洞:上传文件的时候,服务器后端未对上传的文件进行严格的验证和过滤,造成上传恶意文件的情况
CTF比赛中需要掌握:
1.客户端检测绕过方式
2.MIME类型检测绕过方式
3.文件后缀检测绕过方式
4.文件内容检测绕过方式

考点4: 文件包含

文件包含漏洞:客户端用户输入控制动态包含在服务器端的文件,会导致恶意代码的执行及敏感信息泄露,主要包括本地文件包含和远程文件包含两种形式。
CTF比赛中需要掌握:
1.文件包含的函数
2.读取敏感文件
3.获取服务器权限

考点5: 远程命令执行

当用户可以控制命令执行函数中的参数时,就可以注入恶意命令到正常命令中,造成命令
执行攻击。
CTF比赛中需要掌握:
1.PHP等语言中常见的系统命令执行函数
2.命令拼接方法
3.绕过过滤机制

考点6:服务端请求伪造

简称SSRF,是一种由攻击者构造形成由服务器端发起请求的一个漏洞CTF比赛中需要掌握:
1.SSRF的利用技巧5
2.SSRF攻击mysq
3.SSRF攻击redis

考点7: 跨站脚本攻击

简称XSS,是指恶意攻击者往Web页面里插入恶意代码,当其他用户浏览该页之时,嵌入其中Web页面的JavaScript代码会被执行,从而达到恶意攻击用户的目的。
CTF比赛中需要掌握:
1.XSS漏洞的类型和利用方法
2.绕过“内容安全策略

考点8: XML外部实体注入

简称XXE,是在对非安全的外部实体数据进行处理时引发的安全问题CTF比赛中需要掌握
1.XML基础知识
2.绕过过滤机制,实现漏洞利用

考点9: Nodejs

发布于2009年5月,是一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript 运行在服务端的开发平台,成为类似于PHP的后端语言。CTF比赛中需要掌握
1.JavaScript基本语法
2.类型污染
3.原型链污染

考点10: 反序列化

序列化:就是把对象转化为二进制的字符串,使用serialize()函数
反序列化:把对象转化的二进制字符串再转化为对象,使用unserialize()函数
CTF比赛中需要掌握:
1.PHP反序列化漏洞原理
2.构造POP链

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍源码设计参考资料效果一览 文章概述 故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab) 专栏介绍 订阅【故障诊断】专栏,不定期更新机器学习和深度学习在故障诊断中的应用;订阅

TWS耳机产品有哪些芯片?这就告诉你

随着时代发展,越来越多消费者开始追捧TWS耳机,相比其他耳机,TWS耳机轻便易带,小巧精密。为了满足TWS耳机这些特点,需要配备多种核心芯片,那么你知道有哪些芯片吗? 1、主控芯片主控芯片是TWS耳机…

[GN] 23种设计模式 —— 常见设计模式学习总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言创建型模式 —— 创建的艺术结构型模式 —— 组合的艺术适配器模式 -- 不兼容结构的协调对象适配器类适配器模式优缺点适用场景 组合模式 -- 树形结构的处理例子…

4. 网络安全基础与网络接入

4.1 实验一:访问控制列表配置实验 4.1.1 实验介绍 4.1.1.1 关于本实验 访问控制列表 ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址…

代码签名证书主要是用来做什么的?

代码签名证书是一种用于数字签名和验证软件代码的安全工具。它用于为软件开发者提供身份认证、数据完整性和代码真实性的机制,确保用户下载和安装的软件是来自可信的发布者,未经篡改并且没有潜在的恶意代码。 首先,代码签名证书可以提供身份认…

数据治理之法读书笔记

数据治理之法 一、数据基础设施 当今,世界正快速由工业经济时代迈向“数化万物、智化生存”的数字经济时代。 数据基础设施尚没有统一的概念。 从狭义上讲,数据基础设施是指支撑数据运转的相关软硬件资源,如数据中台、数据仓库、数据湖等…

npm 以组织为单位发布依赖包(@username/package-name、@org-name/package-name)

示例: ant-design/aliyun-theme ant-design/antd-theme-variable ant-design/charts // ...1. 注册组织 在官网注册相应的组织,npmjs.com 以个人账号登录。点击头像找到 Add Organization,填写相关信息,创建完成。 2. 发布 首…

【unity小技巧】unity3d创建和实现破碎打破物品,万物可破碎

文章目录 破碎插件可破碎的物品代码控制加入破坏力完结 破碎插件 关于物品破碎,其实之前已经分享过一个免费插件,如果没有碎片化的模型,可以选择使用这个插件: OpenFracture插件实现unity3d物体破裂和切割 可破碎的物品 代码控制…

解密Android某信聊天记录

前置条件 frida, frida-tools, adb 获取密码 h.js console.log(script loaded successfully);function xx() {function strf(str, replacements) {return str.replace(/\$\{\w\}/g, function(placeholderWithDelimiters) {var placeholderWithoutDelimiters placeholderWi…

山石防火墙简单配置

1、设备管理 安全网关支持本地与远程两种环境配置方法,可以通过CLI 和WebUI 两种方式进行配置。CLI 同时支持Console、Telnet、SSH 等主流通信管理协议。 1.1终端console 登录 通过Console 口配置安全网关时需要在计算机上运行终端仿真程序(系统的超级…

数字孪生智慧能源电力Web3D可视化云平台合集

前言 能源电力的经济发展是中国式现代化的强大动力,是经济社会发展的必要生产要素,电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面,合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展&#xf…

测试左移是什么?执行它有哪些好处?

前言 大家好,我是chowley,今天来介绍一下,目前多数开发者团队都在执行的一种理念—测试左移! 测试左移 在软件开发领域,测试左移是一种开发实践,强调在编写实际代码之前先编写测试用例。这种方法有助于提…

深度学习的进展

深度学习的进展 深度学习是人工智能领域的一个重要分支,它利用神经网络模拟人类大脑的学习过程,通过大量数据训练模型,使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来,深度学习在多个领域取得了显著的进展,尤其在自然语言处理、计算机视觉、语音识别和机…

replaceAll 的用法总结

replaceAll 的用法总结 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,今天我们将深入探讨Java中字符串操作的一个强大工具 —— replaceAll 方法。这个方法在处理字符串替换时非常有用,让我们一起了解其基本用法和一些…

【postgres】10、INDEX Types 索引

文章目录 11.2 Index Types11.2.3 GiST https://www.postgresql.org/docs/current/indexes-types.html 11.2 Index Types 11.2.3 GiST GIST索引不是一种单一的索引,而是一种基础设施,在其中可以实现许多不同的索引策略。因此,可以使用GIST索…

为什么每天上班明明没做什么体力活,却仍感觉到身体好累?

​为什么每天上班明明没做什么体力活,却仍感觉到身体好累? 在现代社会,许多人在工作中并不需要从事繁重的体力劳动,然而,他们却常常感到身体疲惫不堪。这种情况不仅发生在办公室工作的人群中,也普遍存在于…

MySQL--表数据的添加和查询操作

题目: 1. 基于当前的四张表 完成数据的添加操作(每张表添加两条数据)2. 完成查询操作(课堂内所有Demo) 1-2. 根据生日降序(DESC)[升序ASC]排序查看各学生信息: SELECT * FROM student ORDER BY BORNDate DESC; #LIMIT 初始行数…

关于我用AI编写了一个聊天机器人……(7)

此次更新为v1.3.4版本&#xff0c;更新内容&#xff1a;增加显示时间功能 代码如下&#xff1a; #include <bits/stdc.h> #include <ctime> using namespace std; string userInput; class VirtualRobot { public:void chat() {cout << "你好&#x…

B3626 跳跃机器人——洛谷(疑问)

题目描述 地上有一排格子&#xff0c;共 &#xfffd;n 个位置。机器猫站在第一个格子上&#xff0c;需要取第 &#xfffd;n 个格子里的东西。 机器猫当然不愿意自己跑过去&#xff0c;所以机器猫从口袋里掏出了一个机器人&#xff01;这个机器人的行动遵循下面的规则&#…

Spring和Srpingboot的区别

Spring 和 Spring Boot 都是 Java 平台的开源框架&#xff0c;用于构建企业级应用程序。它们之间的主要区别在于以下几点&#xff1a; 1. 复杂度和配置&#xff1a; - Spring 是一个全功能的框架&#xff0c;提供了大量的功能和扩展性&#xff0c;但需要手动配置和管理依赖项。…