sqlmap工具说明

这篇具有很好参考价值的文章主要介绍了sqlmap工具说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1 工具简介 3
1.1 简述 3
1.2 背景及需求 3
1.3 主要功能 3
2 功能确认 4
2.1 安装和使用 4
2.1.1 Windows操作系统 4
2.1.2 Linux操作系统 6
2.1.3 Kali 7
2.2 添加目标 7
2.2.1 参数-u 7
2.2.2 参数-m 8
2.2.3 参数-r 9
2.3 指定参数 11
2.4 爆破数据库 11
2.5 爆破表 12
2.6 爆破字段 12
2.7 爆破值 13
2.8 检测是否被保护 13
2.9 结果输出 14
2.10 风险等级 16
2.11 探测等级 16
2.12 访问文件 16
2.13 操作系统命令 17
3 总结 19

1 工具简介

1.1 简述

版本:v1.4.10
支持环境:windows,linux等
支持语言:python
设计目的:可自动执行SQL注入缺陷的检测和开发过程,并接管数据库服务器
实现:有强大的检测引擎,针对不同类型的数据库提供多样的渗透测试功能选项,实现数据库识别、数 据获取、访问DBMS\操作系统甚至通过带外数据连接的方式执行操作系统的命令。,以及从数据 库指纹识别、从数据库获取数据、访问底层文件的广泛范围的交换机通过带外连接在操作系统上 执行命令。
技术:布尔盲注、时间盲注、报错注入、联合查询注入、堆查询注入

1.2 背景及需求

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,
而SQLMAP是一种开源渗透测试工具,可自动执行SQL注入缺陷的检测和开发过程,并接管数据库服务器。它有强大的检测引擎,针对不同类型的数据库提供多样的渗透测试功能选项,实现数据库识别、数据获取、访问DBMS\操作系统甚至通过带外数据连接的方式执行操作系统的命令。,以及从数据库指纹识别、从数据库获取数据、访问底层文件的广泛范围的交换机通过带外连接在操作系统上执行命令。

1.3 主要功能

序号 功能 简述 参数
1 添加目标 目标URL -u
后接一个txt文件,文件中是多个url,sqlmap会自动化的检测其中的所有url。 -m
数据包保存在txt中,sqlmap通过post方式检测目标 -r
2 指定参数 指定要测试的参数 -p
3 爆破数据库 查看所有数据库 --dbs
4 爆破表 查看指定数据库中的所有表 --tables
5 爆破字段 查看指定表中的所有字段 --columns
6 爆破值 查看字段的所有值 --dump
7 检测是否被保护 检测是否有WAF/IPS/IDS --identify-waf
8 结果输出 扫描结束后输出结果到指定文件 -
9 风险等级 选择风险等级 -risk
10 探测等级 选择探测等级 -level
11 访问文件 访问目标文件系统 --file-read
12 操作系统命令 允许操作系统命令 --os-shell

2 功能确认

2.1 安装和使用

2.1.1 Windows操作系统

Sqlmap项目存储在github上,访问giuhub需要通过代理才能访问

sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

下载项目包,并解压。Sqlmap目录介绍如下:
a) doc目录:保护sqlmap的简要说明,具体使用说明,作者信息等。
b) extra目录:包含sqlmap的额外功能,如发出声响、允许cmd、安全执行等。
c) lib目录:sqlmap核心目录。
d) plugins目录:包含了sqlmap目前支持的13种数据库信息和数据库通用事项。
e) procs目录:包含了mssql、mysql、oracle、postgresql的触发程序。
f) shell目录:包含了注入成功后的9种shell远程命令执行。
g) tamper目录:包含了waf绕过脚本。
h) thirdparty目录:包含了第三方插件,例如优化,保持连接,颜色。
i) txt目录:包含了表名字典,列名字典,UA字典等。
j) udf目录:存放攻击载荷。
k) waf目录:存放waf特征判断脚本。
l) xml目录:存放多种数据库注入检测的payload等信息
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

使用sqlmap之前必须安装python,b并添加环境变量
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

检查环境是否能正常使用
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.1.2 Linux操作系统

a) 用git命令安装。
git clone https://github.com/sqlmapproject/sqlmap.git
b) 如果没有安装git,先装git。
yum -y install git
c) 安装完sqlmap,当前目录下会多一个sqlmap的目录。进入sqlmap目录。用命令启动sqlmap。
python sqlmap.py
d) 如果提示-bash: python: command not found,则可能是没有安装Python。Python安装命令。
sudo yum install python2

2.1.3 Kali

Kali中自带了sqlmap

sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

查看版本:
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.2 添加目标

2.2.1 参数-u

参数-u 指定目标url来使用sqlmap检测,现选本地靶场第一关url: http://192.168.1.7/sqli/Less-1/?id=1

Windows:
命令:python3 sqlmap.py -u http://192.168.1.7/sqli/?id=1
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Kali:
命令:sqlmap -u http://192.168.1.7/sqli/?id=1
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.2.2 参数-m

参数-m后接一个txt文件,文件中是多个url,sqlmap会自动化的检测其中的所有url。

sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Windows:
命令:python3 sqlmap.py -m E:\desktop\target.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Kali:
命令: sqlmap -m /tmp/target.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.2.3 参数-r

参数-r指定注入点,后面直接跟上文件名称,该文件记录了发送请求的报文,该报文可以利用抓包工具fiddle或burpsuit等获取。

在sql靶场中提交表单,并使用burpsuit获取请求报文,并以文件形式保存。
Burp抓包:
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

将内容保存在txt文件中
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Windows
命令:python3 sqlmap.py -r E:\desktop \sql.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

结果:
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Linux:
命令:sqlmap -r /tmp/sql.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.3 指定参数

参数-p可以指定SQL注入的参数。
命令:python3 sqlmap.py -u http://192.168.1.7/sqli/Less-1/?id=1 -p id
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.4 爆破数据库

在主机192.168.56.1上搭建了sqli靶场,先使用–dbs爆破数据库
命令:sqlmap -u " http://192.168.56.1/sqli/Less-5/?id=1" --dbs
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.5 爆破表

从上节爆破的数据库中选择security,使用–tables爆破在security数据库中的所有表
命令:sqlmap -u " http://192.168.56.1/sqli/Less-5/?id=1" -D “security” –tables
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.6 爆破字段

从上节爆破的security的所有表中选择user,使用-- columns爆破在user数据库中的所有字段
sqlmap -u " http://192.168.56.1/sqli/Less-5/?id=1" -D “security” -T “users” –columns
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.7 爆破值

在爆破的字段值中选择password和username的值进行输出
命令:sqlmap -u " http://192.168.56.1/sqli/Less-5/?id=1" -D “security” -T “users” -C username,password –dump
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.8 检测是否被保护

判断该web服务器是否被WAF/IPS保护着。在漏扫或者使用专门工具来检测是否有WAF,这个检测,在nmap的NSE,或者WVS的策略或者APPSCAN的策略中都有,我们可以利用这些来判断,在此我们,也介绍使用sqlmap进行检测是否有WAF/IPS/IDS

windows:
命令:python3 sqlmap.py -u “http://192.168.1.7/sqli/Less-1/?id=1” --thread 10 --identify-waf
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

linux:
命令:sqlmap -u “http://192.168.1.7/sqli/Less-1/?id=1” --thread 10 --identify-waf
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.9 结果输出

输出扫描结果到指定文件。

Windows:
将” python3 sqlmap.py -u http://192.168.1.7/sqli/Less-1/?id=1 -p id”结果导出到E:\desktop\2.txt
命令:python3 sqlmap.py -u http://192.168.1.7/sqli/Less-1/?id=1 -p id > E:\desktop\2.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

文件已输出到桌面

sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

Linux:
将” python3 sqlmap.py -u http://192.168.1.7/sqli/Less-1/?id=1 -p id”结果导出到/tmp/2.txt
命令:sqlmap -u http://192.168.1.7/sqli/Less-1/?id=1 -p id > /tmp/2.txt
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

文件已输出到tmp文件夹下
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.10 风险等级

风险等级:共有3个【1-3】,最大值是3
a) 会测试大部分的测试语句(默认值);
b) 会增加基于时间的测试语句;
c) 会增加OR语句的SQL注入测试。
命令:sqlmap -u http://192.168.1.7/sqli/Less-1/?id=1 -risk 1-3
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.11 探测等级

探测等级:一共有5个等级【1-5】,默认是1。 默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用-level参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。
命令:sqlmap -u http://192.168.1.7/sqli/Less-1/?id=1 -level 1-5
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.12 访问文件

file-read:读取服务器路径下的文件,并保存在output目录下的file中。使用kali来获取网站目录下的tmpuwbwc.php
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

命令:sqlmap -u http://192.168.1.7/sqli/Less-1/?id=1 --file-read “E:\programing\phpstudy\phpstudy_pro\WWW\sqli\tmpuwbwc.php”
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

将读取的文件存储在output文件夹下,且和服务器中的文件做了大小比较,来确定读取的文件数据完整。
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

使用cat查看文件内容,和本机内容一样。
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

2.13 操作系统命令

可以在数据库与***者直接建立TCP连接,这个连接可以是一个交互式命令行的Meterpreter会话,sqlmap根据Meterpreter生成shellcode。

使用kali来获取网站所在主机的shellcode
命令:sqlmap -u http://192.168.1.7/sqli/Less-1/?id=1 --os-shell
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

选择网站语言php
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

输入网站的绝对路径
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

进入shell,执行命令
sqlmap是什么工具,安全渗透,数据库,sqlmap,安全工具,sql注入工具

3 总结

SQLMAP是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞,其广泛的功能和选项包括数据库指纹,枚举,访问目标文件系统,并在获取操作权限时执行任意命令。

SQLMAP是开源的自动化SQL注入工具,由Python写成,具有如下特点:
a) 完全支持MySQL、Oracle、PostgreSQL、MSSQL、Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
b) 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
c) 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
d) 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列
e) 支持自动识别密码哈希格式并通过字典破解密码哈希。
f) 支持完全地下载某个数据库中的某个表、也可以只下载某个表中的某几列。
g) 支持在数据库管理系统中搜索指定的数据库名、表名和列名
h) 当数据库管理系统是MySQL、PostgreSQL或者MSSQL时支持下载或上传文件。
i) 当数据库管理系统是MySQL、PostgreSQL或者MSSQL时支持执行任意命令并回显标准输出。文章来源地址https://www.toymoban.com/news/detail-815659.html

到了这里,关于sqlmap工具说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 渗透测试-SQL注入之核心语法获取数据库信息

    SQL实验室第一关 下载sqli-labs到phpstudy的www目录下 打开localhost/sqli-labs运行即可 (1)注入语句 ‘~’ 相当于16进制的0x7e 万能密码 \\\'or ‘1’ =\\\'1 ’ and ‘1’=‘1 ’ and 1=2 union select 1,user(),3- -+ 前面加’是为了闭合后面的’ (2)group_concat(string) (1)SQL手工注入方法 select schema_name

    2024年02月10日
    浏览(38)
  • ODBC连接数据库详细说明

    开放数据库互连(ODBC)是微软提出的数据库访问接口标准。开放数据库互连定义了访问数据库的API一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言。通过使用ODBC,应用程序能够使用相同的源代码和各种各样的数据库进行交互。这使得开发者不需要以特殊的

    2023年04月08日
    浏览(47)
  • 阿里云RDS关系型数据库详细介绍_多版本数据库说明

    阿里云RDS关系型数据库大全,关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS关系型数据库大全: 目录 阿里云RDS关系型数据库大全 RDS关系型数据库大全 云原生数据库 PolarDB MySQL 版 云原生数据库

    2024年02月07日
    浏览(52)
  • 阿里云关系型数据库RDS详细说明

    阿里云RDS关系型数据库大全,关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS关系型数据库大全: 目录 阿里云RDS关系型数据库大全 RDS关系型数据库大全 云原生数据库 PolarDB MySQL 版 云原生数据库

    2024年02月07日
    浏览(42)
  • 达梦数据库的几种模式及状态说明

    达梦数据库支持 3 种数据库模式: Normal 模式、 Primary 模式和 Standby 模式。 用户可以正常访问数据库,操作没有限制。 正常生成本地归档,但不发送实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。 将数据库切换为 Normal 模式: 用户可以正常访问数据库,操作有

    2024年02月05日
    浏览(50)
  • 软件开发项目文档系列之八数据库设计说明书

    数据库设计说明书是一个关键文档,它提供了有关数据库的详细信息,包括设计、结构、运行环境、数据安全、管理和维护等方面的内容。 引言部分,简要介绍数据库设计说明书的目的和内容。这部分通常包括以下内容: 引言的目的:解释为什么需要数据库设计说明书,它

    2024年02月06日
    浏览(63)
  • 嵌入式数据库:SQLite3的安装和使用说明

    目录 一,SQLite简介 ① SQLite与传统服务器型数据库 ② SQLite与MySQL比较 ③ 基于嵌入式的数据库种类 二,SQLite数据库安装 ① 输入命令安装 ② 网页安装 ● 安装步骤 三,SQLite命令用法 ● 创建一个数据库 ● 创建一张表格 ● 插入一条记录 ● 查看数据库的记录 ● 删除一条

    2024年01月21日
    浏览(80)
  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(91)
  • MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明

    MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 MySQL笔记——表的分组查询、表的分页查询、表的约束、数据库设计 MySQL案例——多表查询以及嵌套查询 MySQL笔记——数据库当中的事务以及Java实现对数据库进

    2024年01月16日
    浏览(70)
  • 【数据库】简单聊聊数据库可以做什么,有什么用?

    随着云计算和大数据的兴起,数据库的作用日益突出,因此了解什么是数据库,数据库可以做什么,有什么用是非常必要的。今天我们就来简单聊聊。 数据库是什么? 数据库是一个组织化的数据集合,用于存储大量的结构化数据。通过数据模型、数据结构和数据管理的概念

    2024年01月24日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包