掌握SQL注入利器:SQLMap使用入门教程及技巧分享

1、SQLMap安装与使用

SQLMap 是一个功能强大的自动化 SQL 注入工具,它可以用于检测和利用 SQL 注入漏洞。以下是 SQLMap 的使用教程的基本步骤:

1.安装 SQLMap: 首先,你需要从 SQLMap 的官方网站下载并安装 SQLMap 工具。根据你的操作系统选择适当的版本,并按照官方提供的安装说明进行安装。

您可以下载最新的zip安装包或tar安装包。也可以通过克隆Git仓库来下载sqlmap:

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

sqlmap works out of the box with Python version 2.6, 2.7 and 3.x on any platform.

2.识别目标: 在使用 SQLMap 之前,你需要识别目标应用程序的 URL 或请求中的参数,这些参数可能存在 SQL 注入漏洞。你可以使用浏览器开发者工具或其他抓包工具来分析应用程序的请求。

掌握SQL注入利器:SQLMap使用入门教程及技巧分享_第1张图片

右键然后Copy出request header,放到一个txt文件中。如request.txt

GET /list?value=Tom HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
Host: localhost:8080
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
sec-ch-ua: "Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"

3.运行 SQLMap: 打开终端或命令提示符,导航到 SQLMap 的安装目录,并执行以下命令来启动 SQLMap:

● -r :以递归方式扫描指定目录下的所有文件。
● -u :连接目标网站并进行扫描。
● --dbs:列出数据库的名称。 示例:--dbs
● --tables:列出数据库中的所有表。 示例:--tables
● --columns:列出指定表中的所有列。 示例:--columns -T users
● --dump:导出指定表中的数据。 示例:--dump -T users
 python sqlmap.py -r request.txt --batch --dbs

掌握SQL注入利器:SQLMap使用入门教程及技巧分享_第2张图片

4.检测漏洞: 运行扫描命令后,SQLMap 会自动检测目标应用程序中的 SQL 注入漏洞。它会尝试不同的注入技术和攻击模式,以发现可利用的漏洞。

掌握SQL注入利器:SQLMap使用入门教程及技巧分享_第3张图片

可以看到已经打印出数据库名称,如果是--dump命令打印的就是数据库表中的数据。

掌握SQL注入利器:SQLMap使用入门教程及技巧分享_第4张图片

可以看到直接把数据表中的数据全部查出来了。想想都可怕!!!

2、SQLMap特点

  • 全面支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Amazon Redshift、Vertica、Mckoi、Presto、Altibase、MimerSQL、CrateDB、Greenplum、Drizzle、Apache Ignite、Cubrid、InterSystems Cache、IRIS、eXtremeDB、FrontBase、Raima Database Manager、YugabyteDB、ClickHouse和Virtuoso数据库管理系统。
  • 全面支持六种SQL注入技术:基于布尔的盲、基于时间的盲、基于错误、基于UNION查询、堆叠查询和带外查询。
  • 通过提供DBMS凭证、IP地址、端口和数据库名称,支持直接连接到数据库,而无需通过SQL注入。
  • 支持枚举用户、密码散列、特权、角色、数据库、表和列。
  • 自动识别密码哈希格式,并支持使用基于字典的攻击破解它们。
  • 支持完全转储数据库表,一系列条目或特定列,根据用户的选择。用户还可以选择只转储每列条目中的字符范围。
  • 支持搜索特定的数据库名称、所有数据库中的特定表或所有数据库表中的特定列。例如,这对于标识包含自定义应用程序凭据的表非常有用,其中相关列名包含name和pass等字符串。
  • 当数据库软件为MySQL、PostgreSQL或Microsoft SQL Server时,支持从数据库服务器底层文件系统下载和上传任何文件。
  • 当数据库软件为MySQL、PostgreSQL或Microsoft SQL Server时,支持在数据库服务器底层操作系统上执行任意命令并检索其标准输出。
  • 支持在攻击机器和数据库服务器底层操作系统之间建立带外有状态TCP连接。根据用户的选择,该通道可以是交互式命令提示符、Meterpreter会话或图形用户界面(VNC)会话。
  • 通过Metasploit的Meterpreter getsystem命令支持数据库进程的用户权限提升。

3、下载中心

官方文档

  • sqlmap用户手册。
  • sqlmap历史记录。
  • sqlmap常见问题(FAQ)。

================================

如果文章对你有帮助,请不要忘记加个关注、点个赞!!!

你可能感兴趣的:(sql,数据库,sql注入,sqlmap)