sqlmap命令常用操作

本文最后更新于:2021年5月21日晚上6点49分

kali系统中sqlmap命令常用操作

转载:https://www.cnblogs.com/iAmSoScArEd/articles/9263735.html#auto\_id\_0

1、基本运行步骤

以下命令顺序即为sql注入常见步骤。

sqlmap -u url –dbs #获取数据库
sqlmap -u url –current-user #获取当前用户名称 :
sqlmap -u url –current-db #获取当前数据库名称
sqlmap -u url -D 数据库名 –tables #列出表名 :
sqlmap -u url -D 数据库名 -T 表名 –columns #列出字段
sqlmap -u url -D 数据库名 -T 表名 -C 字段名1,字段名2,…… –dump #获取字段内容

提示:

1、如果是Microsoft Access 可省略前三个步骤 且不需要-D参数

2、获取字段内容时可以省略字段信息直接查询所有字段 使用:

sqlmap -u url -D 数据库名 -T 表名 –dump

2、常见参数及解释

--cookie=cookie的内容 设置cookie 值 通常配合获取数据库使用
–data 设置 POST 提交的值
-u 指定目标 URL
-b 获取 DBMS banner
–current-db 获取当前数据库
–current-user 获取当前数据库的用户
–tables 获取数据库里所有的表名
–columns 获取表里的所有字段
–dump 获取字段中的内容
–current-user 获取当前用户
-D [数据库名] 指定数据库名
-T [表名] 指定表名
-C [字段名] 指定字段名
–string 当查询可用时用来匹配页面中的字符串
–users 枚举所有用户
–passwords 枚举所有用户的密码hsah
–dbs 枚举数据库中的数据库名
-r 指定请求包

GET型注入一般用 sqlmap -u url

POST型注入一般用 sqlmap -u url –data POST参数

如果需要增加cookie或其他请求头 可将请求保存到文本中,如request.txt,则用sqlmap -r request.txt(经常配合burpsuite使用,直接将请求包保存到文件,然后使用sqlmap -r 来进行sql注入)

二、sqlmap常用基础命令

1
2
3
4
5
6
7
8
9
--level 5  探测等级(1~5 默认为1,等级越高Payload越多,速度也比较慢)
--is-dba 判断当前用户是否是管理员权限
--roles 列出数据库管理员角色(仅适用与Oracle数据库)
--referer HTTP Referer头(伪造HTTP头中的Referer,当--level等级大于等于3时会通过伪造Referer来进行注入)
--sql-shell 运行自定义SQL语句 用法:sqlmap -u url --sql-shell
--os-cmd,--os-shell 运行任意操作系统命令(仅支持MySQLPostgreSQLSQL Server)
--file-read 从数据库服务器中读取文件(要知道文件绝对路径)
--file-write "本地文件路径" --file-dest "远程绝对路径" 上传文件到数据库服务器中
--tamper "模块名" bypasswaf时使用 具体模块可参考书《Web安全攻防 渗透测试实战指南》P40~49

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!