Burp Suite抓包实战:SQL注入漏洞挖掘
本文系统解析如何利用Burp Suite专业版开展SQL注入漏洞的定向挖掘,涵盖手动探测、自动化利用、WAF绕过等进阶技巧。通过电商、金融等行业的真实渗透案例,详解从流量拦截到漏洞利用的全链路方法论,实现单日最高挖掘23个高危注入点的实战成果。
第一章 Burp Suite环境配置优化
1.1 代理拦截精调
| 配置模块 | 参数建议 | 作用说明 |
|---|---|---|
| Proxy Listeners | 绑定0.0.0.0:8080 | 支持多设备流量转发 |
| TLS Pass Through | 添加*.google.com | 避免HTTPS证书干扰 |
| Intercept Client | 启用Firefox容器扩展 | 实现多环境隔离抓包 |
1.2 插件生态构建
- SQLiPy:智能识别注入点(误报率<3%)
- Turbo Intruder:实现2000次/秒的暴力探测
- Logger++:记录全量HTTP历史便于回溯分析
第二章 注入点智能识别
2.1 流量特征扫描
四维定位法快速锁定可疑参数:
- 参数类型:重点关注id、page、sort等数值型字段
- 响应特征:包含"SQL"、"syntax"等错误关键词
- 长度异常:正常/异常响应包大小差异>15%
- 延时波动:注入布尔表达式后响应时间偏差>2秒
2.2 自动化探测流程
plaintext复制
1. 使用Scanner模块执行被动扫描 2. 对GET/POST参数添加单引号' 3. 分析返回状态码与内容差异 4. 标记存在500错误的端点
(注:此处仅为流程说明,实际应使用Burp功能实现)
第三章 手动注入深度利用
3.1 基于错误的注入
分步验证法确认漏洞有效性:
- 原始请求:
/product?id=123→ 返回200 OK - 注入探测:
/product?id=123'→ 出现数据库错误 - 闭合验证:
/product?id=123'-- -→ 恢复正常页面 - 信息获取:
/product?id=123'+AND+1=convert(int,(SELECT@@version))-- -
3.2 布尔盲注利用
通过响应差异识别推断数据库信息:
| 注入Payload | 预期结果 | 信息推断 |
|---|---|---|
id=1' AND 'a'='a | 正常内容加载 | 条件成立检测 |
id=1' AND SUBSTRING(@@version,1,1)='5' | 特定元素消失 | 确认MySQL 5.x版本 |
id=1' AND (SELECT COUNT(*) FROM users)=10 | 页面结构变化 | 推断用户表记录数 |
第四章 高阶绕过技术
4.1 编码混淆方案
| 过滤类型 | 绕过策略 | 示例Payload |
|---|---|---|
| 空格过滤 | 使用/**/替代 | UNION/**/SELECT |
| 关键词过滤 | 双写绕过 | UNUNIONION |
| 引号过滤 | 使用CHAR函数 | WHERE user=CHAR(97) |
4.2 分块传输绕过
利用Burp的Chunked Encoding Converter插件:
- 将请求体转换为分块编码格式
- 在分块内容中嵌入恶意SQL语句
- 绕过基于内容长度的WAF检测
第五章 自动化漏洞利用
5.1 SQLMap集成技巧
Burp与SQLMap联动工作流:
- 右键选中可疑请求→Save item
- 命令行执行:
sqlmap -r request.txt --batch --risk=3 - 分析输出报告中的数据库指纹信息
5.2 Turbo Intruder脚本
配置精准延时检测脚本:
plaintext复制
def queueRequests(target, wordlists): engine = RequestEngine(endpoint=target.endpoint, concurrentConnections=30, requestsPerConnection=100, pipeline=False) for i in range(100): engine.queue(target.req, ['\' AND SLEEP(5)-- -'])
(注:此为逻辑演示,实际需按Burp API编写)
第六章 漏洞修复验证
6.1 防御方案测试
| 防护手段 | 测试方法 | 预期结果 |
|---|---|---|
| 参数化查询 | 注入数字型/字符型参数 | 统一返回参数错误 |
| WAF拦截 | 发送恶意语句' OR 1=1-- - | 触发403拦截页面 |
| 输入过滤 | 提交<script>标签 | 返回净化后的文本 |
6.2 持续监控策略
- 被动扫描:每周执行全站SQLi漏洞扫描
- 流量审计:分析访问日志中的异常参数
- 蜜罐诱捕:部署虚假注入点监测攻击行为
第七章 企业级实战案例
7.1 电商平台订单泄露
攻击路径:
- 发现
/api/order?no=20230815001'报错 - 利用联合查询获取管理员表:
UNION SELECT username,password FROM admins - 解密MD5哈希登录后台
修复方案:
- 启用预编译语句
- 实施字段类型强校验
- 增加请求频率限制
7.2 银行系统信息泄露
绕过过程:
- 原始过滤:禁止UNION、SELECT等关键词
- 使用注释符分割:
id=1'/*!UNION*//*!SELECT*/ 1,database()-- - - 成功获取数据库名
相关文章:
Burp Suite抓包实战:SQL注入漏洞挖掘
本文系统解析如何利用Burp Suite专业版开展SQL注入漏洞的定向挖掘,涵盖手动探测、自动化利用、WAF绕过等进阶技巧。通过电商、金融等行业的真实渗透案例,详解从流量拦截到漏洞利用的全链路方法论,实现单日最高挖掘23个高危注入点的实战成果。…...
open-cv的安装
python -m pip install numpy matplotlib opencv-python 【记得科学上网,不然太慢了】...
docker-compose自定义网络,解决docker-compose网段路由冲突
问题排查 先route一波查看一下路由表 容器路由19和堡垒机路由冲突 解决方案 更改docker网段更改docker生成容器的网段 > 基本操作 docker network ls :查看docker网络列表 docker network inspect <network id/name>:查看某个docker网络详情…...
数据库三级选择题(2)
C) 分布式数据库的事务管理包括恢复控制和并发控制,恢复控制一般采用的策略是基于两阶段提交协议 采用一定的计算方法定位数据的有 Ⅳ.散列(哈希)索引 下列提供逻辑独立性的是外模式/模式映像 UML所有活动有关判断的部分要用菱形表…...
【入门初级篇】报表基础操作与功能介绍
【入门初级篇】报表的基本操作与功能介绍 视频要点 (1)报表组件的创建 (2)指标组件的使用:一级、二级指标操作演示 (3)表格属性设置介绍 (4)图表属性设置介绍 ࿰…...
GenBI 中如何引入 LLM 做意图路由,区分查数据还是闲聊
写在前面 生成式商业智能(Generative BI, GenBI)的魅力在于其能够理解用户的自然语言,并将复杂的数据查询和分析过程自动化。用户不再需要学习 SQL 或操作复杂的界面,只需像与同事交谈一样提出问题,就能获得数据洞察。然而,一个现实的挑战是:用户的输入并非总是明确的数…...
视频编码器的抉择:x264、x265、libaom、vvenc 对比测试实验
264、x265、libaom、vvenc 对比测试实验 测试机器配置:Apple M1 Pro -16G编码器版本(选择自己编译):所有源码都是当前最新更新的状态,此外各类编码具体的编译过程可参考我的相关系列博客。 编码器GitHubx264git clon…...
【多媒体交互】Unity Kinect实现UI控件的点击
在Unity中,通过Kinect实现UI控件的点击功能,主要涉及手部追踪、坐标映射和手势检测三个核心环节。 实现步骤 初始化Kinect与关节追踪 使用KinectManager获取用户ID和手部关节点(如JointType.HandLeft)的坐标。 long userId _…...
vue将页面导出成word
方法一:使用 html-docx-js html-docx-js 是一个轻量级的库,可以将 HTML 转换为 Word 文档。 安装依赖 首先安装 html-docx-js: Bash深色版本 npm install html-docx-js --save创建导出逻辑 在 Vue 组件中实现导出功能的代码如下࿱…...
React 知识回顾(HOC、合成事件、Fiber)
HOC 嗯,用户问的是HOC是什么以及它能用来做什么。我需要先理解HOC的基本概念,然后整理它的用途。根据搜索结果,HOC是React中的高阶组件,用来复用逻辑。网页1提到HOC是一个函数,接收组件返回新组件,属于设计…...
hive相关面试题以及答案
什么是Hive?它的作用是什么? 答:Hive是一个建立在Hadoop之上的数据仓库工具,它提供了类似于SQL的查询语言HiveQL来操作存储在Hadoop中的数据。Hive的主要作用是让用户能够使用SQL语法来查询和分析大规模数据集。 Hive的架构是什么…...
Jmeter-负载测试
目录 一. 基础负载测试场景:固定并发用户数 1、线程组配置 2、HTTP请求配置 3、添加定时器 4、添加监听器 4.1 聚合报告 4.2 响应时间图 4.3 查看结果树 5、结果分析指标 二. 阶梯式加压场景(逐步增加并发) 1、插件安装 2、阶梯配…...
《深度剖析SQL数据类型转换:隐式与显式的奥秘》
在SQL的世界里,数据类型转换是一个基础且关键的操作,它贯穿于数据库开发、管理与数据分析的各个环节。数据类型转换分为隐式转换和显式转换,二者各有特点与应用场景,深刻理解它们对于编写高效、稳定的SQL代码至关重要。 一、数据…...
基于大模型的自发性气胸全方位预测与诊疗方案研究
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、大模型预测自发性气胸的原理及技术基础 2.1 大模型介绍 2.2 模型构建与训练数据 2.3 模型训练与优化 三、术前风险预测与准备 3.1 术前风险预测指标 3.2 基于预测的术前准备 3.3 手术方案与麻醉方案制定…...
经销商订货管理系统小程序PHP+uniapp
订货管理系统的行业变革势能 在实体商业与电商融合加速的2025年,订货管理系统已成为连锁品牌、商贸批发企业及工厂客户的核心数字化基建。面对经销商订货流程冗长、加盟商库存协同低效、批发贸易数据孤岛等行业痛点,新一代系统通过ThinkPHPUniapp技术架…...
性能测试理论基础-测试流程及方案设计要点
需求调研 因性能测试技术性和专业性要求比较高,通常需要性能测试人员参与需求调研和确认。 需求调研阶段,通常需要确认以下信息: 项目背景、测试范围、业务逻辑 & 数据流转(与开发确认)、系统架构、软硬件配置信息、 测试数据量(量级要一致)、外部依赖(第三方系统…...
TextGrad:案例
原文:Yuksekgonul, M., Bianchi, F., Boen, J. et al. Optimizing generative AI by backpropagating language model feedback. Nature 639, 609–616 (2025). https://doi.org/10.1038/s41586-025-08661-4 目录 Solution optimizationPrompt optimization for rea…...
kafka 4.x docker启动kafka4.0.0 docker-compose启动最新版kafka 如何使用docker容器启动最新版kafka
1. 镜像选择标签: https://hub.docker.com/r/bitnami/kafka/tags 2. 命令: docker pull bitnami/kafka:4.0.0 3. docker-compose.yml 启动kafka4.0.0: version: 3services:kafka:image: bitnami/kafka:4.0.0container_name: kafkaports:- &…...
Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927) 复现利用与原理分析
免责声明 本文所述漏洞复现方法仅供安全研究及授权测试使用; 任何个人/组织须在合法合规前提下实施,严禁用于非法目的; 作者不对任何滥用行为及后果负责,如发现新漏洞请及时联系厂商并遵循漏洞披露规则。 漏洞原理 Next.js 是一个…...
C#Lambda表达式与委托关系
1. 核心关系图示 A[委托] --> B[提供方法容器] B --> C[Lambda表达式] C --> D[委托实例的语法糖] A --> E[类型安全约束] C --> F[编译器自动生成委托实例] 2. 本质联系 2.1 类型关系 Lambda表达式是编译器生成的委托实例表达式自动匹配符合签名的…...
AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF
本代码实现了一个基于 到达角(AOA) 和 到达时间(TOA) 的混合定位算法,结合 扩展卡尔曼滤波(EKF) 对三维运动目标的轨迹进行滤波优化。代码通过模拟动态目标与基站网络,展示了从信号测量、定位解算到轨迹滤波的全流程,适用于城市峡谷、室内等复杂环境下的定位研究。 文…...
Uni-app入门到精通:subPackages节点为小程序的分包加载配置
subPackages节点用于为小程序的分包加载配置。因小程序有体积和资源加载限制,各小程序平台提供了分包方式,以加快小程序的下载和启动速度。主包用于放置默认启动页面、babBar页面,以及一些所有分包都会用到的公共资源或JS脚本;而分…...
如何编写单元测试
一、前言知识 1.开发过程 需求分析->设计->开发->测试->上线 2.测试种类 单元测试(测试模块编码)、黑盒测试(测试功能是否满足需求)、白盒测试(测试程序内部的逻辑结构)、回归测试(提出的缺陷进行二次验证)、集成测试(测试主要的业务功能及模块间的整合性)、系…...
Linux系统编程 | 线程的基本概念
💓个人主页:mooridy 💓专栏地址:Linux 关注我🌹,和我一起学习更多计算机的知识! 🔝🔝🔝 什么是线程 程序中的一个执行路线就叫做线程 一个进程至少要有一个执行线程,单…...
C语言之数据结构:双向链表
个人主页:云纳星辰怀自在 座右铭:“所谓坚持,就是觉得还有希望!” 前言 前文阐述了数据结构中单向链表的定义、分类和实际应用。本文将重点阐述带哨兵节点的双向循环链表。 1. 带头双向循环链表 带头双向循环链表 是一种特殊的链…...
剑指Offer62 -- 约瑟夫环
1. 题目描述 圆圈中最后剩下的数字 2. 约瑟夫环 人们站在一个等待被处决的圈子里。 计数从圆圈中的指定点开始,并沿指定方向围绕圆圈进行。 在跳过指定数量的人之后,处刑下一个人。 对剩下的人重复该过程,从下一个人开始,朝同一方…...
RAG生成中的多文档动态融合及去重加权策略探讨
目录 RAG生成中的多文档动态融合及去重加权策略探讨 一、RAG生成概述 二、多文档动态融合策略 1. 拼接与分段编码 2. 独立编码与后续融合 3. 基于查询的动态加权 三、检索结果的去重与加权策略 1. 去重策略 2. 加权策略 四、实践中的挑战与思考 五、结语 RAG生成中的…...
jdk21使用Vosk实现语音文字转换,免费的语音识别
1.下载vosk的model vosk官网:https://alphacephei.com/vosk/models 我这里使用较小的vosk-model-small-cn-0.22 2.添加相关pom文件 <!-- 获取音频信息 --><dependency><groupId>org</groupId><artifactId>jaudiotagger</artifac…...
I.MX6ULL 开发板上挂载NTFS格式 U 盘
I.MX6ULL 开发板上挂载NTFS格式 U 盘 挂载失败安装NTFS-3G安装失败成功安装 移植挂载成功卸载U盘 挂载失败 我使用的U盘的格式是NTFS格式的 插入U盘时会有信息 我使用的是闪迪的U盘,大小标称是 32G ,实际能用的只有 28G 左右 可以使用lsblk命令查看磁盘…...
性能测试~
1.什么是性能测试 1.什么是性能 就像这两个车一样,虽然都是代步工具,构造都是一样的,但是路虎的发动机要比捷达好.路虎的百米加速却是比捷达快的,我们就知道路虎的性能要比捷达好 . 那么什么是软件的性能呢?我们分析一下 2.常见的性能测试指标 2.1并发数 并发数是指在同一…...
