Kali Linux 中的 Sqlmap

2025年3月17日 | 阅读 3 分钟

sqlmap 包描述

sqlmap 是一个**开源渗透工具**,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。它包含一个**强大的检测引擎、众多专家**功能,是**渗透测试人员**的终极选择,并且拥有范围广泛的**开关**,可以进行**数据库指纹识别、从数据库中检索数据、访问底层文件系统**以及通过带外连接**在操作系统上执行命令**。

sqlmap 是一个基于 python 的工具;因此它应该可以在任何支持 Python 的系统上运行。 sqlmap 的目的是查找和利用 Web 应用程序中的 SQL 注入漏洞。当它在目标主机上检测到一个或多个 SQL 注入时,用户可以从多个选项中进行选择,包括执行广泛的后端数据库管理系统指纹识别、检索 DBMS 会话用户和数据库、枚举用户、密码哈希、权限、数据库、转储整个或用户特定的 DBMS 表/列、运行他自己的 SQL 语句、读取文件系统上的特定文件等等。

Sqlmap 的特性

以下是 sqlmap 的特性

  1. 完全支持 MYSQL、Oracle、PostgreSQL、Firebird、Sybase、Microsoft Access、IBM DB2、Microsoft SQL Server、SAP MaxDB 数据库管理系统。
  2. 完全支持六种 SQL 注入技术:基于布尔的盲注、基于错误的注入、堆叠查询、UNION 查询、带外注入。
  3. 自动识别密码哈希格式,并支持使用**基于字典的**方法破解它们
  4. 支持通过 Metasploit 的 Meterpreter getsystem 提升数据库进程的用户权限
  5. 通过提供 DBMS 凭据、IP 地址、端口数据库名称,可以直接连接到数据库,而无需使用 SQL 注入。
  6. 支持在攻击机器和数据库服务器底层的操作系统之间建立带外有状态 TCP 连接。根据用户的偏好,此通道可以是交互式命令提示符、Meterpreter 会话或图形用户界面 (VNC) 会话。
  7. 使用 MYSQL、PostgreSQLMicrosoft SQL Server 时,我们可以从数据库服务器的底层文件系统中下载和上传任何文件。
  8. 当数据库软件是 MYSQL、PostgreSQLMicrosoft SQL server 时,支持在操作系统内置数据库服务器上执行任意命令并检索其标准输出。
  9. 支持在所有数据库中搜索特定的**数据库名称、特定表**或**指定的列**。这有助于识别包含自定义应用程序凭据的表,当相关列的名称包含诸如 name 和 字符串时
  10. 支持根据用户的偏好转储整个数据库表、一系列条目或选择字段。用户可以选择仅从每个列的条目中转储一部分字符。
  11. 可以枚举 用户、密码哈希、角色、哈希、数据库、表

安装 sqlmap

SQLMAP 预装在 Kali Linux 中,Kali Linux 通常是渗透测试人员最喜欢的操作系统。 但是,我们可以使用该命令在其他基于 Debian 的 Linux 系统上安装 sqlmap

语法


Sqlmap in Kali Linux

sqlmap 包中包含的工具

Sqlmap - 自动 SQL 注入工具

Sqlmap in Kali Linux

Sqlmap 使用示例

借助给定的 URL (-u http://192.168.1.250/?p=1&forumaction=search) 我们可以提取数据库名称 (-dbs)

Sqlmap in Kali Linux