【CTF-SHOW】Web入门 Web27-身份证日期爆破 【关于bp intruder使用--详记录】
1.点进去
是一个登录系统,有录取名单和学籍信息
发现通过姓名和身份证号可以进行录取查询,推测录取查询可能得到学生对应学号和密码,但是身份证号中的出生日期部分未知,所以可以进行爆破
2.打开bp抓包
这里注意抓的是学院录取查询系统发送POST类型进行查询的包,第一遍抓不到很正常可以多刷新几次,有的时候可能用Firefox抓不到,我是用Microsoft抓到的
填上想爆破的姓名,随便填个密码
3.右键发送到intruder
类型是单个payload,爆破的地方是密码的位置,也就是刚刚随便输入的123456
四种攻击类型是什么?
1. Sniper 攻击(狙击手模式)
特点:
- Sniper 攻击是最基础的一种攻击类型,适用于单参数的简单测试。
- 它会逐一替换每一个 payload 插入点,其他位置保持不变,从而测试单个参数对应用的影响。
工作流程:
- 用户指定的参数位置被设为“插入点”,Burp Suite 会在这些位置依次替换 payload。
- 例如,如果你有三个不同的插入点,Sniper 会在第一个插入点替换 payload,其余位置保持原样,发送请求;然后对第二个插入点进行替换,重复这一过程。
典型使用场景:
- 测试单个参数的注入点,例如 SQL 注入、XSS、命令注入等。
- 识别系统对不同输入的响应行为。
优势:
- 高效、快速地测试单个参数。
- 适用于初步摸排目标系统的漏洞情况。
劣势:
- 如果有多个参数需要联合测试,Sniper 可能无法覆盖所有组合。
attack NO. | location A | location B |
---|---|---|
1 | 1 | no replace |
2 | 2 | no replace |
3 | no replace | 1 |
4 | no replace | 2 |
2. Battering Ram 攻击(攻城锤模式)
特点:
- Battering Ram 攻击允许在所有插入点上使用相同的 payload。
- 这意味着,如果你有多个插入点,Burp Suite 将用相同的值填充所有插入点,并发起请求。
工作流程:
- 假设你有两个插入点,Battering Ram 将用相同的 payload 替换这两个插入点的值,并发送请求。随后,它会将另一个 payload 替换所有插入点,再发送另一个请求。
典型使用场景:
- 测试多个参数共享相同的输入值时是否存在脆弱性。
- 特别适合测试加密算法、哈希函数等场景,参数共享相同的输入值时可能会导致问题。
优势:
- 适合测试多个插入点的同步攻击,例如多个参数都要求相同的密钥或标识符。
劣势:
- 如果每个插入点的 payload 需要不同,Battering Ram 的效用就会受限。
attack NO. | location A | location B |
---|---|---|
1 | 1 | 1 |
2 | 2 | 2 |
3. Pitchfork 攻击(草叉模式)
特点:
- Pitchfork 攻击是一种并行攻击类型,它允许在多个插入点上使用不同的 payload。每个插入点的 payload 将同步替换,所有插入点会同时被替换。
工作流程:
- Pitchfork 允许为每个插入点指定不同的 payload 列表,Burp 会同步从每个列表中取出一个值并发起请求。例如,如果你有两个插入点,各自有 5 个 payload,Burp 会组合每个插入点的对应值(如第一个插入点取 payload1,第二个插入点取 payload1),并发起 5 次请求。
典型使用场景:
- 测试多个参数的联合漏洞,例如用户名和密码字段的联合暴力破解。
- 当多个参数的值需要彼此关联时使用,比如在逻辑错误攻击中,两个参数互相影响时可以用 Pitchfork。
优势:
- 并行攻击,可以减少攻击时间。
- 有助于测试复杂参数的联合影响。
劣势:
- Payload 列表长度需一致,如果参数过多,可能需要大量的组合准备工作。
草叉模式允许使用多组payload组合,在每个标记位置上遍历所有payload组合,假设有两个位置“A”和“B”,payload组合1的值为“1”和“2”,payload组合2的值为“3”和“4”,则攻击模式如下:
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 2 | 4 |
4. Cluster Bomb 攻击(集束炸弹模式)
特点:
- Cluster Bomb 是 Burp Intruder 中最强大也是最复杂的攻击类型。它会对所有插入点进行“穷举式”攻击,即尝试每个插入点的所有可能 payload 组合。
工作流程:
- 用户为每个插入点定义一个 payload 列表,Burp 会计算所有可能的 payload 组合,并逐一发起请求。例如,如果你有两个插入点,第一个插入点有 5 个 payload,第二个插入点有 3 个 payload,Cluster Bomb 会生成 5×3=15 种不同的组合,每次替换一个组合并发送请求。
典型使用场景:
- 针对多个参数的联合脆弱性进行穷举测试。
- 当你不确定哪种参数组合可能导致漏洞时,Cluster Bomb 提供全面的测试覆盖。
- 使用在复杂表单或多层次的身份验证过程中,尝试找到突破点。
优势:
- 可以全面覆盖所有可能的参数组合,确保不会遗漏任何可能的漏洞。
劣势:
- 测试的请求数量可能会非常庞大,尤其是当有多个插入点且每个插入点的 payload 较多时,可能会生成成千上万的请求,消耗时间和资源。
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 1 | 4 |
3 | 2 | 3 |
4 | 2 | 4 |
实战技巧和优化建议:
-
攻击速度调节:
- 选择攻击速度: Burp Suite 提供从“慢速”(Throttle)到“最快”(Turbo)的攻击速度选项。如果目标系统有流量限制,建议使用慢速攻击以避免触发防护机制。
- 防止被封锁: 快速大量发送请求可能会触发目标服务器的防火墙或反爬虫机制。使用代理池、调整速率、或者模拟正常用户行为可以帮助减少封锁风险。
-
过滤和响应分析:
- 自动过滤无关响应: 为了提高效率,可以设置 Intruder 自动过滤特定响应(如 404 错误页面),这样你可以专注于有意义的响应数据。
- 响应长度分析: 在每次攻击后,Burp 会显示响应长度。突然的响应长度变化可能暗示存在漏洞,如登录成功、权限提升等。
-
自定义 Payload 和规则:
- 添加 payload 处理规则: 可以在 payload 设置中使用转换规则,比如 URL 编码、Base64 编码等,确保 payload 格式正确。
- 使用预置的 payload: Burp 提供丰富的 payload 选项(如常见的密码列表、SQL 注入语句等),可以快速应用到攻击中。
参考文献一起学安全测试——Burp Suite Intruder的4种攻击类型_安全测试中的sniper是什么意思-CSDN博客
4.定义payload
选择payload类型为日期,年月日范围,格式一定要这个一模一样(不然爆破不到),添加前后缀
5.开始爆破
找到长度最长的,猜测是正确的,查看响应
获得正确学号
6.让gpt解码
7.登录
成功获得flag
相关文章:

【CTF-SHOW】Web入门 Web27-身份证日期爆破 【关于bp intruder使用--详记录】
1.点进去 是一个登录系统,有录取名单和学籍信息 发现通过姓名和身份证号可以进行录取查询,推测录取查询可能得到学生对应学号和密码,但是身份证号中的出生日期部分未知,所以可以进行爆破 2.打开bp抓包 这里注意抓的是学院录取查…...
Windows 添加右键以管理员身份运行 PowerShell
在 Windows 系统中添加一个右键菜单选项,以便可以使用管理员权限打开 PowerShell,可以通过编辑注册表来实现。 打开注册表编辑器: 按 Win R 打开运行对话框。输入 regedit 并按回车,这将打开注册表编辑器。 导航到文件夹背景键&…...

数学建模算法与应用 第15章 预测方法
目录 15.1 微分方程模型 Matlab代码示例:求解简单的微分方程 15.2 灰色预测模型(GM) Matlab代码示例:灰色预测模型 15.3 自回归模型(AR) Matlab代码示例:AR模型的预测 15.4 指数平滑法 M…...

HC32F460KETA PETB JATA 工业 自动化 电机
HC32F460 系列是基于 ARM Cortex-M4 32-bit RISC CPU,最高工作频率 200MHz 的高性能 MCU。Cortex-M4 内核集成了浮点运算单元(FPU)和 DSP,实现单精度浮点算术运算,支持 所有 ARM 单精度数据处理指令和数据类型…...
linux系统,不定时kernel bug :soft lockup的问题
这个问题困扰好久,机器经常不定时卡死,只能重启 后来检查是因为没有安装nvidia显卡驱动,或者更新到最新驱动 下载地址:驱动详情 禁止nouveau就可以了...
【C语言教程】【常用类库】(十四)可移植库 - <unistd.h> 和 <sys/types.h>
14. 可移植库 - <unistd.h> 和 <sys/types.h> UNIX和类UNIX系统上提供的一组头文件,其中<unistd.h>定义了POSIX操作系统API的访问点,而<sys/types.h>定义了许多基础数据类型。这些库在多种环境中增强了C程序的可移植性。 14.1…...

Java项目实战II基于Spring Boot的周边游平台设计与实现(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着人们生…...

远程控制软件哪个好用:4款主流的远程控制软件大点评,谁最给力?
战国时期,有百家争鸣,九流十家,争芳斗艳; 时至今日,科学技术突飞猛进、一日千里,各大远程控制软件更是佳丽三千、琳琅满目、各有千秋! 这时,新的问题来了:远程控制软件哪…...

基于springboot实习管理系统
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的,前后端分离。 开发语言:Java数据库:MySQL技术:…...

(38)MATLAB分析带噪信号的频谱
文章目录 前言一、MATLAB仿真代码二、仿真结果画图总结 前言 本文给出带噪信号的时域和频域分析,指出频域分析在处理带噪信号时的优势。 首先使用MATLAB生成一段信号,并在信号上叠加高斯白噪声得到带噪信号,然后对带噪信号对其进行FFT变换&…...

多级缓存-案例导入说明
为了演示多级缓存,我们先导入一个商品管理的案例,其中包含商品的CRUD功能。我们将来会给查询商品添加多级缓存。 1.安装MySQL 后期做数据同步需要用到MySQL的主从功能,所以需要大家在虚拟机中,利用Docker来运行一个MySQL容器。 1.1.准备目录 为了方便后期配置MySQL,我们…...
基于Python的自然语言处理系列(31):SpaCy + Training Neural Network
1. 介绍 在自然语言处理的多个任务中,训练神经网络模型是一个至关重要的步骤,它能帮助我们实现更精准的模型预测。对于特定的任务,如命名实体识别(NER)或文本分类,使用自定义的训练数据对模型进行微调是提高模型表现的有效方式。在这篇文章中,我们将深入探讨如何从零开始…...

在 cPanel 中管理区域编辑权限
在 cPanel & WHM 60 版本中,cPanel 界面有四种不同方式编辑你的区域文件。简单 DNS 编辑器(cPanel >> 域名 >> 简单 DNS 编辑器)允许用户设置 A 记录和 CNAME 记录。高级 DNS 编辑器(cPanel >> 域名 >&g…...

web前端网页用户注册页面
源码: <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title> </head> <body><form action"#" metho…...
问题记录-- 在 Vue2 中动态更新 Select 组件的选项
在 Vue2 中动态更新 Select 组件的选项 在 Vue 开发中,动态更新表单组件的选项是一个常见的需求。特别是在使用 select 组件时,如何确保选项能够实时反映数据的变化是一个值得关注的问题。本文将探讨如何通过方法获取 select 的 options 来解决这一问题…...

Opencv形态学的膨胀操作、开运算与闭运算、梯度运算、礼帽与黑帽操作
文章目录 一、膨胀操作二、开运算与闭运算三、梯度运算四、礼帽与黑帽操作 一、膨胀操作 膨胀操作也就是根据图片将边缘的一些细节给丰富,处理的程度取决于卷积核的大小还有膨胀次数。也就是腐蚀操作的相反操作(腐蚀操作参考我的上一篇文章 点击跳转&am…...

keil 中添加gcc编译 stmf207
一、安装下载arm-gcc 编译器: 二、在keil中配置gcc: 三、配置工程选项 1.配置gcc编译规则: Misc Controls : -mcpucortex-m3 -mthumb -fdata-sections -ffunction-sections 注: 1.这里我用的cortex-m3,如果你是m4内核…...
BEV相关
1.deformable DETR是在DETR基础上做了什么 Deformable DETR 是对经典 DETR(Detection Transformer)进行的改进,旨在解决 DETR 训练速度慢、对大目标的定位不精确等问题。它主要在以下几个方面做了优化: 稀疏的多尺度注意力机制&a…...

nodepad++带时间段的关键字搜索筛选
10:11:[2-3][0-9].(com.asus.rogforum) 如图:冒号后面的[2-3]表示秒的十位20秒到30秒之间,如果想筛选多个则(com.asus.rogforum)中的多个关键字之间用|分隔...

【理论笔记】网工基础知识 1 —— 计算机网络基础知识
提示:学习网络工程师基础理论知识 计算机网络相关的基础知识 包括计算机网络的基本概念、组成部分、主要功能、分类、性能、常见术语、以及网络标准化组织 一、计算机网络的概述 1、计算机网络的基本概念 把分布在不同地理区域具有独立工作能力的计算机、终端&am…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...