HTTP报文Connection:keep-alive
--keep-alive
设置空连接,常用于盲注
--null-connection 检索没有body响应的内容
默认1个线程,最大10个线程
--thread 10
在推理算法中用于检索值字符的顺序统计预测
与 --thread 不兼容
--predict-output
-p 指定具体探测的参数 -p "id" --skip 忽略探测的参数 --skip "user-agent,referer" --param-exclude 忽略包含具体内容的参数 --param-exclude="token|session" 不对包含session或token的参数进行探测 --skip-static 忽略非动态参数
当注入点位于URI本身内部时,会出现一些特=特殊情况,除非手动指向URI路径,否则sqlmap不会对URI执行测试,必须在命令行中添加*
来指定注入点
如当使用apache web 服务器的mod_rewrite模块或者其他技术
sqlmap.py -u "http://xxxx?id=1*&pass=1"
与URI类似
*
默认可以自动识别DBMS
--dbms 数据库管理系统 [版本] --dbms mysql 5.0
默认可以自动识别OS
--os windows --os linux
--no-cast
--no-escape
使原始参数值无效
1.使用大整数 ,id=999999999999999999
--invalid-bignum
2.强制使用布尔操作 , id=1 and 18=19
--invalid-logical
3.强制使用随机字符串 , id=savgsadgv
--invalid-string
在某些情况下,只有当用户提供要附加到注入负载的特定后缀时,易受攻击参数才会被利用,当用户知道查询语法并希望通过直接提供注入有效负载前缀和后缀来检测和利用SQL注入时,这些选项可以使用
--prefix 设置payload前缀 --suffix 设置payload后缀
--tamper ”脚本名称1,名称2“
--dbms-cred=username:password
1 2 3 4 5
--level 5
指定测试风险的参数,有3 个等级,默认为一,对大多数注入无害,2增加了大量基于查询时间的SQL注入测试的默认级别,值3增加了基于or的注入测试
or有可能导致表的条目的更新,引入一个选项:用户控制有效载荷,用户可以使用潜在危险的负载
--risk 3
默认情况下,通过比较注入的请求页面和原始页面,区分真假查询
--string 指定包含字符串,查询为True --nor-string 指定包含字符串,查询为False --regexp 指定通过正则表达式匹配字符串,查询为True --code 指定匹配的HTTP状态响应码 ,查询为True