若Web服务器要求客户端提供证书则可以使用此参数指定一个PEM格式的证书文件。我们知道SSL协议的客户端认证是可选的,实践中一般都只用服务器端提供自己的证书供客户端验证,很少要求客户端提供自己的证书。
11.忽略401
参数:–ignore-401
使用该参数忽略401错误(未认证)。
12.HTTP(S)代理
参数:–proxy、–proxy-cred、–proxy-file和–ignore-proxy
使用参数“–proxy”来设置一个HTTP(S)代理,格式是“http(s)://url:port”。若代理需要认证,使用参数“–proxy-cred”来提供认证凭证,格式是“username:password”。
使用参数“–proxy-file”指定一个存储着代理列表的文件,Sqlmap会依次使用文件中的代理,当某个代理有任何连接问题时就会被弃用而换下一个代理。
使用参数“–ignore-proxy”忽略本地代理设置。
13.Tor匿名网络
参数:–tor、–tor-type、–tor-port和–check-tor
不管出于什么原因,如果想要保持匿名状态与其使用单个的HTTP(S)代理,不如安装类似Privoxy这样的软件按照Tor的安装指导配置一个Tor客户端。设置好后使用参数“–tor”让Sqlmap自动设置使用Tor代理。
如果想要手动指定Tor的类型和端口可以使用参数“–tor-type”和“–tor-port”,如:
--tor-type=SOCKS5 --tor-port 9050
如果要求高度的匿名性可以使用参数“–check-tor”,加上该参数后Sqlmap会确保所有流量都走Tor代理,若Tor代理失效,Sqlmap会发出警告并退出。检测方法是访问Are you using Tor?。
14.HTTP请求之间添加延迟
参数:–delay
过于频繁地发送请求可能会被网站察觉或有其他不良后果。使用参数“–delay”来指定HTTP请求之间的延迟,单位为秒,类型是浮点数,如“–delay 1.5”表示延迟1.5秒。默认是没有延迟的。
15.超时
参数:–timeout
超时时间默认为30秒,可以用参数“–timeout”指定超时时间,如“–timeout 44.5”表示设置超时时间为44.5秒。
16.超时后最大重试次数
参数:–retries
超时后Sqlmap会进行重试,最大重试次数默认为3,可以用参数“–retries”指定最大重试次数。
17.随机化参数值
参数:–randomize
使用该参数,Sqlmap会随机生成每次HTTP请求中参数的值,值的类型和长度依照于原始值。
18.用正则表达式过滤代理日志
参数:–scope
指定一个Python正则表达式对代理日志进行过滤,只测试符合正则表达式的目标,如:
python sqlmap.py -l burp.log --scope="(www)?.target.(com|net|org)"
19.避免错误请求过多而被屏蔽
参数:–safe-url、–safe-post、–safe-req和–safe-freq
有时服务器检测到某个客户端错误请求过多会对其进行屏蔽,而Sqlmap的测试往往会产生大量错误请求,为避免被屏蔽,可以时不时的产生几个正常请求以迷惑服务器。有以下四个参数与这一机制有关:
–safe-url: 隔一会就访问一下的安全URL
–safe-post: 访问安全URL时携带的POST数据
–safe-req: 从文件中载入安全HTTP请求
–safe-freq: 每次测试请求之后都会访问一下的安全URL
这里所谓的安全URL是指访问会返回200、没有任何报错的URL。相应地,Sqlmap也不会对安全URL进行任何注入测试。
20.关闭URL编码
参数:–skip-urlencode
Sqlmap默认会对URL进行URL编码,可以使用该参数关闭URL编码。
21.绕过CSRF保护
参数:–csrf-token和–csrf-url