sqlmap使用教程

url探测

get方式:sqlmap -u "url"
post方式:sqlmap -u "url" --data "post数据"

文件读取目标

-r 从文本文件中读取http请求作为sql注入探测的目标
-m 从多行文本格式文件读取多个目标,对多个目标进行探测 	

常用步骤:

1.探测数据库名

--dbs --batch

2.探测表名

-D 库名 --tables --batch

3.探测字段名

-D 库名 -T 表名 --columns --batch

4.探测字段值

-D 库名 -T 表名 -C username(字段),password --dump --batch

对User-Agent进行注入(Referer也可以)

方法一:

--data="uname=admin&passwd=admin&submit=Submit" --user-agent="*" 

方法二:

在保存有http请求的文本文件中,参数后面加上*(要去掉/),再用-r读取			
例:
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0*
Referer: http://127.0.0.1/sqli/Less-20*

方法三:(最慢的,当level等级达到3时,会对UA、Referer进行注入)

--level 3

对Cooker进行注入

方法一:

-u "url" --cookie="uname=*" --level 2 --dbs --batch
//post请求中:有uname参数

方法二:

--level 2 
//不一定能跑出来,当level等级达到2时,会尝试对cooker进行注入

--technique=参数(--tech=参数)

//使用的 SQL 注入技术(默认为“BEUSTQ”)

B: Boolean-based blind SQL injection(布尔型盲注)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(联合查询注入)
S: Stacked queries SQL injection(堆叠查询注入)
T: Time-based blind SQL injection(时间型盲注)
Q: inline Query injection(内联查询注入)

代理:

--proxy="http://ip:端口"

脚本:

--tamper "模块名"		使用模块脚本

模块名:

unmagicquotes.py		宽字节
space2randomblank.py	将空格替换为其他有效字符
space2mssqlblank.py		将空格替换为其他有效字符(mssql)
spaceZmysqlblank.py		将空格替换为其他有效字符(mysql)
base64encode.py			用base64格式进行编码
charencode.py			采用url格式编码1次
chardoubleencode.py		采用url格式编码2次
modsecurityversioned.py			用注释来包围完整的查询语句,用于绕过 ModSecurity 开源 waf
modsecurityzeroversioned.py		用注释来包围完整的查询语句,用于绕过 waf ,和上面类似
nonrecursivereplacement.py		关键字双写,可用于关键字过滤

通用

-p="id"				指定参数
--skip="id"			跳过参数
-random-agent		随机user-agent
--dbms="mysql"		指定扫描的数据库
--current-db		获取当前数据库名称
--current-user      获取 DBMS 当前用户
--is-dba			探测 DBMS 当前用户是否为 DBA(数据库管理员)
--threads=1-10		线程数
--purge				清理缓存记录
--batch				全自动
--level 1-5			测试等级
--risk 1-3			风险等级
--dump				导出数据,在字段名前面时是打印数据
--delay				使设定两次http请求的延时(秒),预防太过频繁被防火墙拦截
--referer"'			伪造referer
--prefix=""   		注入 payload 的前缀字符串
--suffix=""	 	    注入 payload 的后缀字符串

--users				当前用户名
--passwords			当前用户密码

暴力破解:

以下选项用于暴力破解测试

--common-tables     检测常见的表名是否存在
--common-columns    检测常用的列名是否存在
--common-files      检测普通文件是否存在

性能优化参数:

-- keep-alive 设置持久连接,加快探测速度
-- nu-connection 检索没有body响应的内容,多用于盲注,但不与–threads兼容
-- thread 最大为10设置多线程
- o 开启所有默认性能优化
- smart 快速判断,节约时间

设置无效值替换(默认使用负数)

–invalid-bignum 	用大数字替换原始值(id=1999999999)
–invalid-logical 	用布尔运算替换原始值(id=1 and 1=2)
–invalid-string 	用随机字符串替换原始值(id=asdsa)

文件读写

//file参数使用 权限:必须为dba权限

--file-read="目标文件路径"			//文件读取
--file-write="本地上传文件路径" --file-dest="写入目标路径" 		//从本地文件上传

用户手册:https://sqlmap.kvko.live/usage

posted @ 2023-01-02 17:16  bcxc9405  阅读(144)  评论(0编辑  收藏  举报
/*
*/