sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等
命令实例: sqlmap -r .txt文件路径
说明:使用该命令时须指明a.txt(保存着http请求包)文件所在的绝对路径验证过程:与-u参数类似
判断可注入的参数
判断可以用哪种SQL注入技术来注入
识别出所有存在的注入类型
尝试去判定数据库版本、开发语言、操作系统版本
SQLMAP的支持7种显示等级level,默认为1等级。
等级0:只显示python错误以及严重的信息。
等级1:同时显示基本信息和警告信息。(默认)
等级2:同时显示debug信息。
等级3:同时显示注入的payload。
等级4:同时显示HTTP请求。
等级5:同时显示HTTP响应头。
等级6:同时显示HTTP响应页面。
常用命令:
-r 把http的请求头,body保存成一个文件,统一交给sqlmap,sqlmap会读取内容进行拼接请求体 可以配合burp suite使用
--dbs 列出所有数据库 等于show database()
--flush-session 当已有缓存记录时,sqlmap会优先调用记录中的内容,想重新测试可在命令行后添加 --flush-session 命令
其他命令:
sqlmap --version 查看sqlmap版本信息
sqlmap -g 查看常用的功能参数
sqlmap -hh 查看所有的参数
sqlmap -v 显示更详细的信息,一共7级,从0-6默认为1,数值越大,信息显示越详细
0:只显示python的回溯,错误和关键信息
1:显示信息和警告消息
2:显示调试消息
3:有效载荷注入
4:显示HTTP请求
5:显示HTTP响应头
6:显示HTTP响应页面的内容
sqlmap -d 直接连接数据库
sqlmap -u 指定url扫描,但url必须存在查询参数,例如: -u "http://127.0.0.1.php?id=1"
sqlmap -l 指定logfile文件进行扫描,可以结合burpsuite把访问的记录保存成一个log文件,sqlmap可以直接加载burp保存到log文件进行扫描
sqlmap -x 以xml的形式提交一个站点给sqlmap
sqlmap -m 如果有多个url地址,可以把多个url保存成一个文本文件 -m可以加载文本文件逐个扫描
sqlmap -r 把http的请求头,body保存成一个文件,统一交给会读取内容进行拼接请求体 可以配合burp suite使用
sqlmap -g 利用谷歌搜索引擎搭配正则来过滤你想要的
sqlmap -p 指定可测试的参数(?page=1&id=2)然后使用-p "page,id"
sqlmap -T 指定表名
sqlmap -s 保存注入过程到一个文件,还可中断,下次恢复在注入 保存-s "xx.log" 恢复:-s "xx.log" -resime
sqlmap -columns 列出字段
sqlmap -current-user获取当前用户名称
sqlmap -current-db获取当前数据库名称(database())
sqlmap -users 列出数据库所有用户
sqlmap -passwords 列出数据库所有密码
sqlmap -privileges查看用户权限
sqlmap -U 指定数据库用户
sqlmap -dbs 列出所有数据库
sqlmap -tables -D 列出指定数据库中的表
sqlmap -is-dba 是否是数据库管理员
sqlmap -roles 枚举数据库用户角色
sqlmap -udf-inject导入用户自定义函数(获取系统权限)
sqlmap -union-check检测是否支持联合注入
sqlmap -union-coks 查询表记录
sqlmap -union-test 语句测试
sqlmap -union-use 采用union注入
sqlmap -union-tech orderby #union配合order by
sqlmap -referer 使用referer欺骗 例子:-referer "http://www.baidu.com"\
sqlmap -proxy 代理注入 例子:-proxy "http://127.0.0.1:8080"#代理注入
sqlmap --proxy-file代理注入使用文件 例子:--proxy-file=XXXX
sqlmap -string 指定关键词
sqlmap -thread 采用多线程(-thread 3)
sqlmap -sql-shell 使用指定sql命令
sqlmap -file-read 读取指定文件
sqlmap -file-write 写入本地文件(-file-write 本地文件 -file-dest 目标路径)可以通过sqlmap写入木马 然后getshell
sqlmap -file-dest 要写入的文件绝对路径
sqlmap -os-cmd=id 执行系统命令
sqlmap -os-shell 系统交互式shell
sqlmap -os-pwn 反弹shell(-os-pwn -msf-path=路径)
sqlmap -msf-path matesploit绝对路径
sqlmap -reg-read 读取win系统注册表
sqlmap --tamper 指定使用的脚本
sqlmap -C 指定字段
标签:SQLmap,sqlmap,--,数据库,union,file,使用,注入
From: https://www.cnblogs.com/mario24678/p/17154557.html