目录
sqlmap设置HTTP方法
Sqlmap会自动在探测过程中使用适合的HTTP请求方法。但是在某些具体情况下,需要强制使用具体的HTTP请求方法。例如 PUT请求方法。HTTP PUT请求方法不会自动使用,因此需要我们强制指定。使用 --method=PUT。
特殊情况下使用,先简单了解
sqlmap设置POST提交参数
默认情况下,用于执行HTTP请求的HTTP方法是GET,但是您可以通过提供在POST请求中发送的数据隐式地将其更改为POST。这些数据作为这些参数,被用于SQL注入检测。
python sqlmap.py -u “http://www.target.com/vuln.php” --data=“id=1” -f --banner --dbs --users
-f fingerprint 指纹
sqlmap设置参数分割符
在某些情况下,sqlmap需要覆盖默认参数分隔符(例如& in GET和POST数据),才能正确地分割和单独处理每个参数。
python sqlmap.py -u “http://www.target.com/vuln.php” --data=“query=foobar;id=1” --param-del=";" -f --banner --dbs --users
sqlmap设置Cookie头
Sqlmap中用来设置Cookie的参数:–cookie, --cookie-del, --load-cookies --drop-set-cookie
使用场景:
1、Web应用程序具有基于Cookie验证的过程;
2、想利用Cookie值上的SQL注入漏洞。
Sqlmap使用Cookie过程:
1、登录或浏览页面。
2、打开审计工具或代理截断,复制Cookie。
3、在Sqlmap中使用 --cookie 粘贴Cookie。
如果在通信过程中,web应用程序使用Set-Cookie标头进行响应,sqlmap将在所有进一步的HTTP请求中自动使用其值作为Cookie标头。sqlmap还将为SQL注入自动测试这些值。这可以通过提供–drop-set-cookie—sqlmap将忽略任何即将到来的Set-Cookie头来避免。反之亦然,如果您提供了一个带有选项的HTTP Cookie报头—Cookie和目标URL在任何时候发送一个HTTP set -Cookie报头,sqlmap将询问您要为以下HTTP请求使用哪组Cookie。
load-cookie,可以用来提供包含Netscape/wget格式的cookie的特殊文件
注意:如果需要对HTTP Cookie值进行SQL注入探测,需要设置 --level 2以上(3)。
sqlmap设置User-Agent
默认情况下,sqlmap使用以下用户代理头值执行HTTP请求: sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)
然而,通过提供自定义用户代理作为选项的参数,可以使用选项——user-agent来伪造它。
此外,通过 --random-agent, sqlmap将从./txt/user-agent中随机选择一个用于会话中的所有HTTP请求。
一些站点在服务端检测HTTP User-Agent值,如果不是一个合法的值,就会中断连接。同时Sqlmap也会曝出错误。
[hh:mm:20] [ERROR] the target URL responded with an unknown HTTP status code, try to
force the HTTP User-Agent header with option --user-agent or --random-agent
固定user-agent
随机user-agent
注意针对User-Agent的值探测SQL注入,需要设置–level 值为3.
sqlmap设置Host头
可以手动设置HTTP主机头值。默认情况下,从提供的目标URL解析HTTP主机头。
注意,如果 --level设置为5,将对HTTP主机头进行SQL注入检测。
sqlmap设置Referer头
伪造HTTP Referer值是可能的。默认情况下,如果没有显式设置,HTTP请求中不会发送HTTP引用头。
请注意,如果–level设置为3或以上,将针对HTTP引用头 进行SQL注入测试。
sqlmap设置额外HTTP头
通过设置选项–header,可以提供额外的HTTP标头。每个标头必须用换行符分隔,从配置INI文件中提供它们要容
易得多。可以查看示例sqlmap.conf文件。
python sqlmap.py -u “http://192.168.21.128/sqlmap/mysql/get_int.php?id=1” --headers=“Host:www.target.com\nUser-agent:Firefox 1.0” -v 5
sqlmap设置HTTP协议认证
Sqlmap中设置HTTP协议认证的参数:–auth-type和–auth-cred
其中–auth-type支持 Basic、Digest、NTLM
–auth-cred认证语法为:username:password
例如:python sqlmap.py -u “http://url/arit.php?id=1” --auth-type Basic --auth-cred “testuser:testpass”
(要先知道用户名和密码)
sqlmap设置HTTP代理
Sqlmap中设置代理的参数:–proxy, --proxy-cred, --proxy-file ,–ignore-proxy
其中–proxy用来设置HTTP代理服务器位置 格式:–proxy http(s)😕/ip[:端口]
–proxy-cred用来设置HTTP代理服务器认证信息 格式:–proxy-cred username:password
–proxy-file用来设置多条代理在文件中
–ignore-proxy当您希望通过忽略系统范围内的HTTP(S)代理服务器设置来针对本地网络的目标部分
运行sqlmap时,应该使用这种方法。
sqlmap设置Tor隐藏网络
Sqlmap中设置Tor网络的参数:–tor, --tor-port, --tor-type --check-tor
下载并启用
sqlmap设置延迟
Sqlmap探测过程中会发送大量探测Payload到目标,如果默认情况过快的发包速度回导致目标预警。为了避免这样
的情况发生,可以在探测设置Sqlmap发包延迟。默认情况下,不设置延迟。
–delay 0.5 设置延迟0.5秒
sqlmap设置超时
在考虑超时HTTP(S)请求之前,可以指定等待的秒数。有效值是一个浮点数,例如10.5表示10秒半。默认设置为30
秒。
例如:–timeout 10.5
sqlmap设置重试次数
–retries count 设置对应重试次数,默认情况下重试3次。
sqlmap设置随机化参数
Sqlmap可以指定要在每次请求期间随机更改其值的参数名称。长度和类型根据提供的原始值保持一直。
–randomize 参数名称
sqlmap设置日志过滤目标
与使用选项-l使用从提供的日志解析的所有主机不同,您可以指定有效的Python正则表达式,用于过滤所需的日志。
python sqlmap.py -l burp.log --scope="(www)?.target.(com|net|org)"
–skip-urlencode 不进行URL加密。
sqlmap设置忽略401
–ignore-401 参数用来忽略未验证错误。
如果您想测试偶尔返回HTTP错误401(未经授权的)的站点,而您想忽略它并在不提供适当凭证的情况下继续测试,您可以使用–ignore-401
sqlmap设置HTTP协议私钥
当web服务器需要适当的客户端证书和用于身份验证的私钥时,应该使用此选项。提供的值应该是一个PEM格式的key_file,其中包含证书和私钥。
–auth-file 文件名
sqlmap设置安全模式
避免在多次请求失败后销毁会话
有时,如果执行了一定数量的不成功请求,则在此期间的web应用程序或检查技术会销毁会话。这可能发生在sqlmap的检测阶段或利用任何盲SQL注入类型时。原因是SQL有效负载不一定返回输出,因此可能会向应用程序会话管理或检查技术发出信号。
–safe-url, --safe-post, --safe-req --safe-freq
通过这种方式,sqlmap将访问每个预定义数量的请求,而不对某个安全URL执行任何类型的注入。
sqlmap设置忽略URL编码
据参数的位置(例如GET),默认情况下它的值可以是URL编码的。在某些情况下,后端web服务器不遵循RFC标准,需要以原始的非编码形式发送值。在这种情况下使用–skip-urlencode。
–skip-urlencode 不进行URL加密。
-----E-----N-----D-----
😄如有问题,请各位师傅斧正,你的支持是我最大的动力。