sqlmap使用手册(六)


sqlmap检索DBMS信息

--fingerprint  -f    探测目标指纹信息。
--banner   -b        获取后端数据库banner信息
--current-user       获取DBMS当前用户 
--users				 获取DBMS所有允许远程登录或本地登陆数据库的用户名
--password           获取用户密码
--current-db		 获取当前数据库名。
--hostname			 获取当前主机名
--is-dba             探测当前用户是否是数据库管理员
--privileges         查看DBMS对应的角色跟权限,
--role               查看DBMS对应的角色跟权限,

例如:

sqlmap -u "url" --users --passwrod --privileges --thread 10

在这里插入图片描述在这里插入图片描述在这里插入图片描述
登录数据库
在这里插入图片描述


sqlmap枚举DBMS信息

--dbs      枚举数据库名称--> 指定具体数据库 -D 数据库名
--tables   枚举表名     --> 指定具体数据表 -T 数据库名
--columns  枚举列名(字段名  指定具体字段   -C 具体字段名
--dump     枚举数据值
-a  --all  返回所有信息,包括当前数据库,当前用户,表名字段名等。
--count    枚举数据表(也可以是数据库)的数量,如-D tastdb --count

Sqlmap获取数据信息(鸡肋功能)
--start, --stop, --first, --last
--start 1 --stop 3  获取第二张到第三张表的名字 
--stop  1           获取第一张表的名字
--first 3 --last 5  获取从第三出发到第五个字符

Sqlmap获取数据信息
--pivot-column=id 设置独一无二的列,一般往数据库中插入一条数据的时候可能会用到,一般很少用到
--where=“id>3” 设置条件,这个比较好用
例如:
sqlmap -u url -D testdb -T testtable -C “user,pass” –dump –where=”id>2--schema   枚举schema信息。模式列表将包含所有数据库、表和列,以及它们各自的类型。与--exclude-sysdb结合使用时,只会检索和显示包含非系统数据库的模式的一部分。
--exclude-sysdbs   排除系统数据库中的相关信息,如information_schema中的表名

在这里插入图片描述
例如:没有排除之前
在这里插入图片描述在这里插入图片描述
排除之后,就不会再有系统数据库下面表的内容


Sqlmap暴力破解数据

使用场景:Mysql<5.0时,Mysql中没有元数据库 ,sqlmap是根据元数据库information_schema进行查询的。

--common-tables
--common-columns
暴力破解时,可以使用默认的字典1,也可以指定字典2,-v 3查看具体payload
例如:

在这里插入图片描述


sqlmap读写文件

读取文件

--file-read 路径  读取对应文件内容,注意:此处路径为绝对路径。
读取成功后,会将文件内容保存到指定位置,可以查看,例如:
sqlmap -u “Less-1/index.php?id=1--file-read="e:\zhu.txt"

在这里插入图片描述在这里插入图片描述


写入文件

--file-write   读取本地文件
--file-dest    将读取到的文件写入到远程绝对路径
例如:
sqlmap -u “hLess-1/index.php?id=1--file-write="/root/桌面/mail.txt" --file-dest="e:\mail.txt"

在这里插入图片描述在这里插入图片描述在这里插入图片描述


sqlmap系统参数

Sqlmap执行系统命令

--os-shell
--os-cmd=”command” ,如ipconfig
跟—os-shell原理类似,都是上传一个命令执行的文件,也需要输入路径,只不过只执行一条命令

首先,要具有权限root,其次还要知道网站路径,最后还需关闭GPC(magic_quote)模块。原理是上传能够进行命令执行的PHP文件。
例如:由于本机是采用phpstudy,所以采用默认的路径没有返回shell,因此选择第二种直接输入或者第三种定义字典文件,此处选择第二种,手动输入,执行完成之后可以看到指定的路径下多了一个PHP文件,用来执行cmd命令的。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


Sqlmap结合Metasploit

--os-pwn    MySQL and PostgreSQL
例如:
sqlmap -u "注入点" --os-pwn 
虽然没有成功返回shell,但是上传了一个文件

在这里插入图片描述在这里插入图片描述
这个时候就可以上传文件,也可以是exe文件,在os-shell中执行,然后在metasploit中也可以监听,获取更大的权限及更多的执行操作。


Sqlmap注册表操作

注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。 win+r + regedit 打开

--reg-read
--reg-add
--reg-del
先指定上述具体操作方法,然后指定具体操作位置及操作内容
--reg-key
--reg-value
--reg-data 
--reg-type
例如:
sqlmap -u url --reg-add --reg-key="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --reg-type=REG_SZ --reg-data=1


sqlmap通用参数

Sqlmap加载sqlite会话文件

-s  加载缓存的会话文件
--flush-session  重新检测,并刷新缓存的结果。

sqlmap自动为每个目标创建持久会话SQLite文件,位于专用输出目录中(/root/.local/share/sqlmap/output/),其中存储会话恢复所需的所有数据。如果用户想显式地设置会话文件位置(例如在一个位置为多个目标存储会话数据),可以使用此选项。如果不想直接使用之前保存的信息,也可以不必每次都把缓存删除,可以刷新session。
在这里插入图片描述


Sqlmap加载http文本文件

-o  加载http文本文件
例如:
sqlmap -u url -t /root/桌面/test.txt -o
将所有的流量写入到test.txt文件中,更方便进行深入的分析。

这个选项需要指定文本文件的参数来写入sqlmap - HTTP(s)请求和HTTP(s)响应生成的所有HTTP(s)流量。这主要用于调试目的,当您向开发人员提供一个潜在的bug报告时,可以发送这个文件。
在这里插入图片描述


Sqlmap设置默认选择选项

--batch

如果希望sqlmap作为批处理工具运行,在sqlmap需要时不需要任何用户交互,那么可以使用这个选项来强制执行。这将使sqlmap在需要用户输入时保持默认行为。


Sqlmap设置盲注字符集

--charset=“string”

在基于布尔和基于时间的SQL盲注中,用户可以强制使用自定义字符集来加速数据检索过程。例如,如果转储消息摘要值(例如SHA1),则使用如–charset=“0123456789abcdef”,预期请求数量比正常运行少30%左右。例如:猜解数据库字段内容时,可以很短检测出结果。
在这里插入图片描述


Sqlmap爬取URL

--crawl=num             后面数值表示深度,相当于文件夹,子文件夹
--crawl-exclude 字符串   存在字符串的URL不进行爬取。
例如:
python sqlmap.py -u url --batch --crawl=3

sqlmap可以通过从目标位置开始收集链接(爬行)来收集潜在的脆弱链接。使用此选项,用户可以设置一个深度(到起始位置的距离),低于这个深度,sqlmap不会进入收集阶段,因为只要有新的链接要访问,就会递归地执行这个过程。
在这里插入图片描述


Sqlmap在CSV输出中使用的分隔字符

--csv-del="分隔符"

当被转储的数据存储到CSV格式(–dump-format=CSV)时,条目必须用“分离值”分隔(默认值是,)。如果用户想要覆盖它的默认值,他可以使用这个选项(例如–csv-del="@")。
在这里插入图片描述在这里插入图片描述


Sqlmap设置输出格式

当将转储表数据存储到输出目录中的相应文件中时,sqlmap支持三种不同的格式:CSV、HTML和SQLITE。默认的是CSV,其中每个表行一行一行地存储在文本文件中,每个条目用逗号分隔(或提供了选项–csv-del)。对于HTML,输出被存储到一个HTML文件中,其中每一行都用格式化表中的一行表示。对于SQLITE,输出存储在SQLITE数据库中,原始表内容复制到同名的相应表中。

--dump-format=”CSV” 默认
--dump-format=”HTML”
--dump-format=”SQLITE”

在这里插入图片描述


Sqlmap探测之前检测Internet连接

在进行评估目标之前,检测当前计算机Internet连接是否正常。确保探测失败不是因为网路拦截问题。连接不成功的情况下sqlmap是不会进行SQL注入检测的。

--check-internet

Sqlmap解析和测试表单的输入字段

--form 
以less-11post注入为例

在这里插入图片描述


Sqlmap设置预计完成时间

--eta    显示进度条

可以实时地计算和显示估计的到达时间,以检索每个查询输出。当用于检索输出的技术是任何盲SQL注入类型时,就会显示这一点。
在这里插入图片描述在这里插入图片描述


Sqlmap刷新会话文件

--flush-session

由于会话文件的概念,所以最好知道您可以使用选项刷新该文件的内容。通过这种方式,您可以避免sqlmap中默认实现的缓存机制。当然也可以选择手动删除会话文件的方法。


Sqlmap忽略会话中存储的结果

--fresh-queries

使用该选项来忽略该文件的内容。通过这种方式,可以保持会话文件不变,对于所选的运行,避免恢复/恢复查询输出。


Sqlmap使用Hex函数检索数据

--hex
例如:
python sqlmap.py -u URL --hex -v 3  --batch

非ascii数据的检索需要特殊的需求。解决这个问题的一个方法是使用DBMS hex函数。数据在被检索之前被编码为十六进制形式,然后被未编码为原始形式。
在这里插入图片描述


Sqlmap设置自定义输出路径

--output-dir=path
例如:
--output-dir=/root/桌面/test.txt”

sqlmap默认将会话和结果文件存储在子目录输出中。如果您想使用不同的位置,可以使用这个选项。


Sqlmap从响应页面解析错误

--parse-error    从响应页面解析错误       
--save           保存Sqlmap配置文件  

如果web应用程序配置为调试模式,以便在HTTP响应中显示后端数据库管理系统错误消息,sqlmap可以解析并显示它们。这对于调试很有用,比如理解为什么某个枚举或接管开关不起作用——这可能与会话用户的特权有关。
可以将命令行选项保存到配置INI文件中。然后,可以使用之前解释的-c选项编辑生成的文件并将其传递给sqlmap。
在这里插入图片描述


Sqlmap强制设置DBMS编码

--encoding=”gbk”

在这里插入图片描述


Sqlmap存储HTTP流量到HAR

--har=”HAR文件名称”

HAR(HTTP Archive),是一个用来储存HTTP请求/响应信息的通用文件格式,基于JSON。输出har文件直接到当前路径以便后续操作,如调用文件中的json对象。
在这里插入图片描述


Sqlmap筛选具体Payload

--test-filter=union”  筛选所有带有union的payload

在这里插入图片描述在这里插入图片描述


Sqlmap过滤具体Payload

--test-skip=”BENCHMARK”  过滤掉,也就是不使用该payload进行探测

针对proxy日志文件使用正则表达式筛选目标
--scope=”正则表达式”   从日志文件中筛选具体目标
例如:sqlmap -l log.txt –scope=192.168.4.10

在这里插入图片描述


sqlmap杂项参数

-z  缩写助记符,提供灵活的缩写助记符来进行快速书写命令,例如:
ban/bat/flu/tec=EU  => banner/batch/flush-session/technique=EU
python sqlmap.py --batch --random-agent --ignore-proxy --technique=BEU -u url
使用助记符:
python sqlmap.py -z "bat,randoma,ign,tec=BEU" -u url

设置探测预警,
--alert=“dir”  在发现SQL注入漏洞时,运行当前主机系统命令。
--beep 在发现SQL注入漏洞时,发出BB声音,这在需要测试的大量目标url时特别有用。

--clearup 在进行sqlmap注入时,如果注入成功,就会在DBMS中创建一个udf表,为避免留下痕迹可以使用该命令清除表。
--dependencies查看依赖项,sqlmap测试的时候需要一些依赖项,如python中的一些内容,因此可以查看所需的依赖项,从而进行对应的安装
--disable-coloring  关闭高亮显示
--identify-waf  查看是否具有WAF保护

--mobile        使用手机端User-Agent。
当然也可以手动设置User-Agent值,但是这个更方便

--offline        仅使用session文件,不进行互联网探测
--purge-output   清除output目录下的文件
--skip-waf       绕过WAF
--sqlmap-shell   使用sqlmap shell,进入之后不用再输入sqlmap,直接-u
--tmp-dir=TMPDIR 指定本地目录用来存储临时文件

--web-root=WEBROOT 指定站点根目录。
如—os-shell中间需要指定站点根目录,如果直接加上参数,中间就不会再询问

--wizard 使用向导式sqlmap

--answer=ANSWER设置问题答案,如302跳转设置时等。
如果用户想自动设置问题的答案,可以使用--batch,也可以使用--answers,通过在等号后面提供问题的任何部分和答案来完成。另外,不同问题的答案可以用分隔符分隔。
sqlmap-u url--technique=E --answers="extending=N" –batch

--gpage=GOOLEPAGE设置Goole Dork的页码数。
使用Goole Dork进行探测时,可以直接跳转到具体页。

--smart智能探测
有些情况下,用户有大量的潜在目标(例如,提供了选项-m),希望尽快找到一个脆弱的目标。如果使用—smart,那么将在扫描中进一步使用数据库管理系统错误的参数,否则就跳过它们。

例如:

--alert=“dir”

在这里插入图片描述在这里插入图片描述
例如:

--mobile

在这里插入图片描述
例如:

-v 5可以显示具体的请求及响应数据包

在这里插入图片描述

–wizard 使用向导式sqlmap
在这里插入图片描述


### 回答1: SQLMap是一款开源的自动化测试工具,用于测试和利用Web应用程序中可能存在的SQL注入漏洞。本文主要介绍了SQLMap使用手册。 首先,安装SQLMap。我们可以从官方网站下载最新版本的SQLMap,并将其解压到我们希望存放的位置。然后,我们需要确保我们的系统上已经安装了Python,以便能够运行SQLMap。 接下来,我们需要了解SQLMap的基本命令和选项。SQLMap支持多种命令和选项,可以根据我们的需要进行配置。我们可以使用“-h”选项来查看SQLMap的帮助信息,了解每个选项的作用和用法。 在使用SQLMap之前,我们需要先进行目标选择。我们可以使用“-u”选项指定目标URL,并选择相应的数据库和表进行测试。我们还可以使用其他选项,如“-r”用于指定请求文件,或者“-g”用于指定Google搜索语句。 然后,我们可以使用“-p”选项指定要测试的参数,并使用“-D”和“-T”选项指定要测试的数据库和表。然后,我们可以使用其他选项,如“--columns”用于获取表的列名,或者“--dump”用于获取表的数据。 在进行SQL注入测试时,我们需要注意保护隐私和遵守法律。我们应该获得合法授权,并只在授权范围内进行测试。我们还应该注意测试中可能引发的安全问题,并及时向相关人员报告。 总的来说,SQLMap是一款功能强大的自动化测试工具,可以帮助我们快速发现和利用Web应用程序中可能存在的SQL注入漏洞。使用SQLMap时,我们需要了解其基本命令和选项,并确保遵守相关法律和规定。希望本文的使用手册能帮助大家更好地使用SQLMap。 ### 回答2: sqlmap是一款流行的用于检测和利用SQL注入漏洞的开源工具。它可以用来自动化地发现和利用Web应用程序中的SQL注入漏洞。在这个PDF文档中,我将向您介绍如何使用sqlmap来进行SQL注入攻击测试。 首先,我们需要确保已经安装了sqlmap。您可以从官方网站上下载最新版本的sqlmap,并根据安装说明进行安装。 在文档中,您将会学到如何使用sqlmap进行基本的SQL注入测试。首先,您需要获得一个目标网站的URL,并确认它存在SQL注入漏洞的迹象。接下来,您将使用sqlmap的命令行参数来指定目标URL和其他必要的选项。然后,sqlmap将会自动对目标网站进行扫描,并报告任何发现的SQL注入漏洞。 一旦sqlmap发现了SQL注入漏洞,您可以使用它来获取数据库的信息,执行任意SQL语句,甚至获取敏感信息。在使用sqlmap进行攻击之前,请确保您已经获得了合法的授权,并且尊重法律和道德规范。 该PDF文档还包括了有关sqlmap的高级用法和技巧的介绍。您将学习如何使用代理服务器来隐藏自己的身份,如何使用多线程和延迟来优化扫描速度,以及如何绕过常见的WAF(Web应用防火墙)和IDS(入侵检测系统)等等。 总的来说,这个PDF文档将为您提供一个全面的sqlmap使用指南。通过学习这个手册,您将能够使用sqlmap快速、准确地发现和利用Web应用程序中的SQL注入漏洞。希望这个文档对您有所帮助,祝您使用sqlmap进行安全测试工作顺利。 ### 回答3: sqlmap是一款用于自动化SQL注入的工具,可以帮助渗透测试人员评估和保护Web应用程序的安全性。它具有强大的功能和易于使用的界面,能够自动发现和利用Web应用程序中的SQL注入漏洞。 pdf:sqlmap使用手册是针对sqlmap工具的一份详细说明书,提供了关于sqlmap使用的详细指南和示例。它包含了sqlmap的安装、配置和使用方法,以及各种高级功能和选项的说明。 使用pdf:sqlmap使用手册可以帮助用户快速掌握sqlmap的基本操作和功能。手册中包括了从简单的注入检测到复杂的注入利用的步骤,以及如何配置和调整sqlmap的选项以满足不同的需求。 手册中还介绍了sqlmap的一些高级功能,如指纹识别、提权、文件读取和写入等。这些功能可以帮助用户更加深入地评估Web应用程序的安全性,发现更多的漏洞。 总之,pdf:sqlmap使用手册是一份非常有价值的资料,它提供了sqlmap工具的详尽说明和示例,帮助用户更好地了解和使用sqlmap。无论是初学者还是有经验的渗透测试人员,都可以通过该手册提高他们的技能和知识,有效地评估和保护Web应用程序的安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值