Sqlmap设置持久HTTP连接
HTTP报文Connection:keep-alive
--keep-alive
设置不接受HTTP Body
设置空连接,常用于盲注
--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本身内部时,会出现一些特=特殊情况,除非手动指向URI路径,否则sqlmap不会对URI执行测试,必须在命令行中添加*
来指定注入点
如当使用apache web 服务器的mod_rewrite模块或者其他技术
sqlmap.py -u "http://xxxx?id=1*&pass=1"
设置任意注入位置
与URI类似
*
设置DBMS
默认可以自动识别DBMS
--dbms 数据库管理系统 [版本]
--dbms mysql 5.0
设置OS
默认可以自动识别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脚本
--tamper ”脚本名称1,名称2“
设置DBMS认证
--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