SQLMAP使用

sqlmap使用教程

-u 指定目标URL (可以是http协议也可以是https协议)

-d 连接数据库

--dbs 列出所有的数据库

--current-db 列出当前数据库

--tables 列出当前的表

--columns 列出当前的列

-D 选择使用哪个数据库

-T 选择使用哪个表

-C 选择使用哪个列

--dump 获取字段中的数据

--batch 自动选择yes

--smart 启发式快速判断,节约浪费时间

--forms 尝试使用post注入

-r 加载文件中的HTTP请求(本地保存的请求包txt文件)

-l 加载文件中的HTTP请求(本地保存的请求包日志文件)

-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试

-o 开启所有默认性能优化

--tamper 调用脚本进行注入

-v 指定sqlmap的回显等级

--delay 设置多久访问一次

--os-shell 获取主机shell,一般不太好用,因为没权限

-m 批量操作

-c 指定配置文件,会按照该配置文件执行动作

-data data指定的数据会当做post数据提交

-timeout 设定超时时间

-level 设置注入探测等级

--risk 风险等级

--identify-waf 检测防火墙类型

--param-del="分割符" 设置参数的分割符

--skip-urlencode 不进行url编码

--keep-alive 设置持久连接,加快探测速度

--null-connection 检索没有body响应的内容,多用于盲注

--thread 最大为10 设置多线程

--delay

有些web服务器请求访问太过频繁可能会被防火墙拦截,使用--delay就可以设定两次http请求的延时

img

--safe-url

有的web服务器会在多次错误的访问请求后屏蔽所有请求,使用--safe-url 就可以每隔一段时间去访问一个正常的页面。

--tamper

语法:--tamper ["脚本名称"]

当调用多个脚本的时候,脚本之间用逗号隔开,调用的脚本在 sqlmap文件夹下的 tamper 文件夹中

img

脚本信息

img

-v ["x"]

使用sqlmap注入测试时,可以使用 -v [x] 参数来指定回显信息的复杂程度, x 的取值范围为[0~6]:

img

--level

level有5个等级,默认等级为1,进行Cookie测试时使用--level 2 ,进行use-agent或refer测试时使用--level 3 ,进行 host 测试时使用--level 5

–-os-cmd=["命令"] 或 --os-shell=["命令"] 执行系统命令

利用sql-labs-less1测试 whoami 命令

sqlmap -u "http://192.168.0.6/sqli-labs-master/Less-1/?id=1" --os-cmd=whoami

选择web服务器支持的语言

img

选择web服务器的可写目录

[1] 使用默认的

[2] 自定义位置

[3] 自定义目录列表文件

[4] 暴力搜索

img

我在本地测试,节省时间,我选择2 ,自定义路径,然后把路径输入在下面

img

执行命令后的返回结果

img

以下关卡均可用get型的方法,常规注入

img

posted @ 2023-02-04 20:54  crabin88  阅读(55)  评论(0编辑  收藏  举报