sqlmap使用手册(三)


Sqlmap设置HTTP方法

Sqlmap会自动在探测过程中使用适合的HTTP请求方法。但是在某些具体情况下,需要强制使用具体的HTTP请求方法。例如 PUT请求方法。HTTP PUT请求方法不会自动使用,因此需要我们强制指定。使用 --method=PUT。


Sqlmap设置POST提交参数

默认情况下,用于执行HTTP请求的HTTP方法是GET,但是您可以通过提供在POST请求中发送的数据隐式地将其更改为POST。这些数据作为这些参数,被用于SQL注入检测。

首先抓包获取提交数据信息,-f fingerprint 指纹
在这里插入图片描述
然后将数据作为sqlmap参数进行探测

python2 sqlmap.py -u “http://192.168.4.4/web/sqli-labs/Less-11/index.php” –data=” uname=admin&passwd=admin&submit=Submit” -f –banner --dbs --users 

在这里插入图片描述


Sqlmap设置参数分割符

在某些情况下,sqlmap需要覆盖默认参数分隔符(例如& in GET和POST数据),才能正确地分割和单独处理每个参数。如果是如分号等分割符,sqlmap可能不能检测出,因此需要特别指定分隔符,如指定分号为分割符 --param-del=”;”


Sqlmap设置Cookie头

Sqlmap中用来设置Cookie的参数:

--cookie					直接指定具体的cookie值
--cookie-del				指定参数之间的分隔符 
--load-cookies 				加载某些特殊情况的cookie
--drop-set-cookie			丢弃服务端相应的set-cookie的值

使用场景:
1、Web应用程序具有基于Cookie验证的过程;
2、想利用Cookie值上的SQL注入漏洞。

Sqlmap使用Cookie过程:
1、登录或浏览页面。
2、打开审计工具或代理截断,复制Cookie。
3、在Sqlmap中使用 --cookie 粘贴Cookie。
例如:
dvwa中SQL注入,输入参数1提交复制url直接测试

sqlmap -u 'http://192.168.4.4/web/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#' –banner

在这里插入图片描述在这里插入图片描述
然后加上cookie值之后

sqlmap -u 'http://192.168.4.4/web/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie="security=low; PHPSESSID=ecj2nlihgboo9ftaqo3bal76r0" –banner

在这里插入图片描述在这里插入图片描述
注意:如果需要对HTTP Cookie值进行SQL注入探测,需要设置 --level 2以上(3)。

http://192.168.4.4/web/sqli-labs/Less-20/

在这里插入图片描述在这里插入图片描述

sqlmap -r /root/桌面/test.txt --level 3 -p uname –banner

或者直接在cookie值最后面加上一个*,就不用指定-p参数了
在这里插入图片描述在这里插入图片描述

Sqlmap设置User-Agent

默认情况下, sqlmap使用以下用户代理头值执行HTTP请求:

sqlmap/1.0-dev-xx (http://sqlmap.org) 

在这里插入图片描述
然而,一些站点在服务端检测HTTP User-Agent值, 如果不是一个合法的值, 就会中断连接。 同时Sqlmap也会曝出错误。 通过提供自定义用户代理作为选项的参数, 可以使以下用选项来伪造它。

--user-agent=”xxxxx”

在这里插入图片描述在这里插入图片描述
此外, 通过 --random-agent, sqlmap将从/usr/share/sqlmap/txt/user-agent.txt中随机选择一个用于会话中的所有HTTP请求,windows中会从’E:\SCAN\sqlmap\sqlmap\data\txt\user-agents.txt’中选择,具体根据安装位置而定。

python2 sqlmap.py -u "http://192.168.4.4/web/sqli-labs/Less-1/index.php?id=1" --random-agent –banner

在这里插入图片描述在这里插入图片描述
注意针对User-Agent的值探测SQL注入, 需要设置–level 值为3.
如less-18,不加星号必须加–level >2 才可以默认对user-agent参数进行检测,默认是1,或者直接加上*号,指定level,具体位置检测更快。


Sqlmap设置Host头

可以手动设置HTTP主机头值。 默认情况下, 从提供的目标URL解析HTTP主机头。
注意, 如果 --level设置为5, 最深入的探测,将可以对HTTP主机头进行SQL注入检测。


Sqlmap设置Referer头

Referer表明的是当前页面是从哪个页面跳转过来的一个值,伪造HTTP Referer值是可能的。 默认情况下, 如果没有显式设置, HTTP请求中不会发送HTTP引用头。请注意, 如果–level设置为3或以上, 将针对HTTP引用头 进行SQL注入测试。以less-19为例,将数据表放到文档中,设置–level 3将可以对该参数进行测试。
在这里插入图片描述


Sqlmap设置额外HTTP头

有时候数据包中并没有对应的参数,如referer参数,这时就可以额外进行设置,通过设置选项–header或-H, 可以提供额外的HTTP标头。 每个标头必须用换行符(\n)分隔, 从配置INI文件中提供它们要容易得多。 可以查看示例sqlmap.conf文件。

-H  	    只能设置一个额外的http头
--header    可以同时设置多个额外的http头

如以less-1为例,原始数据包如下:
在这里插入图片描述
通过sqlmap额外设置Host和Referer

python2 sqlmap.py -u "http://192.168.4.4/web/sqli-labs/Less-1/index.php?id=1" --headers="User-Agent:xxxxxx\nHost:1.1.1.1"

在这里插入图片描述在这里插入图片描述
使用-H测试,可以看到只有第一个设置成功

python2 sqlmap.py -u "http://192.168.4.4/web/sqli-labs/Less-1/index.php?id=1" -H "User-Agent:xxxxxx\nHost:1.1.1.1"

在这里插入图片描述在这里插入图片描述


Sqlmap设置HTTP协议认证

Sqlmap中设置HTTP协议认证的参数: --auth-type和–auth-cred
其中–auth-type支持 Basic、 Digest、 NTLM
–auth-cred认证语法为: username:password
例如:

http://192.168.4.7/access/Production/PRODUCT_DETAIL.asp?id=1513

在这里插入图片描述在这里插入图片描述在这里插入图片描述


Sqlmap设置HTTP代理

设置代理可以达到隐藏真实ip的目的。
Sqlmap中设置代理的参数: --proxy, --proxy-cred, --proxy-file , --ignore-proxy,其中

--proxy
用来设置HTTP代理服务器位置 
格式: --proxy “http://x.x.x.x:8080--proxy-cred
用来设置HTTP代理服务器认证信息 
格式: --proxy-cred username:password

--proxy-file
用来设置多条代理在文件中

--ignore-proxy
当您希望通过忽略系统范围内的HTTP(S)代理服务器设置来针对本地网络的目标部分运行sqlmap时, 应该使用这种方法。

测试
直接搜索http代理,找到一些免费的代理ip,复制到proxy.txt中
如:https://www.kuaidaili.com/free/
在这里插入图片描述

python2 sqlmap.py -u "http://192.168.4.4/web/sqli-labs/Less-1/index.php?id=1" --proxy-file proxy.txt

如果代理不行还会自动更换
在这里插入图片描述


Sqlmap设置Tor隐藏网络

正常的互联网访问行为都是透明的,也就是说,用户通过互联网访问服务器的访问记录都是可以回溯审查的, 例如,互联网用户A通过互联网访问网站B,网站B的服务器部署了流量监控程序,这样就可以通过该程序找到用户A上网所使用的IP地址,进而可以确定其上网终端的地址,从而找到用户A的真实身份以及藏身地点。然而Tor的出现使这一切都变得复杂,Tor的工作原理是在用户A访问网站B的路由要经过一系列中间节点加密传输,终将网站B的内容返回到用户A,这样一来,追踪溯源就变得极为困难。

Sqlmap中设置Tor网络的参数: --tor, --tor-port, --tor-type, --check-tor,初次打开kali的时候需要安装tor

apt-get install tor
然后开启tor服务
service tor start
sqlmap -u url --tor --tor-type sss会直接报错,同时爆出type类型

在这里插入图片描述
然后检测tor是否可用

--check-tor

在这里插入图片描述
注意由于网络的原因,tor不会连接成功,如果有一台vps或者对应的其他位置的主机,tor网络就会连接成功,使用tor网络进行探测,隐藏真实的ip地址。


Sqlmap设置延迟

Sqlmap探测过程中会发送大量探测Payload到目标, 如果默认情况过快的发包速度回导致目标预警。 为了避免这样的情况发生, 可以在探测设置Sqlmap发包延迟。 默认情况下, 不设置延迟。

--delay 0.5    设置延迟0.5

Sqlmap设置超时

在考虑超时HTTP(S)请求之前, 可以指定等待的秒数。 有效值是一个浮点数, 例如10.5表示10秒半。 默认设置为30秒。

--timeout 10.5   设置等待时间10.5

当连接后停止服务就会出现等待超时重连的问题,如下:
在这里插入图片描述


Sqlmap设置重试次数

--retries count    设置对应重试次数, 默认情况下重试3次。
sqlmap -u "http://192.168.4.4/web/sqli-labs/Less-1/index.php?id=1" --timeout 10  --retries 5

在这里插入图片描述


Sqlmap设置随机化参数

Sqlmap可以指定要在每次请求期间随机更改其值的参数名称。 长度和类型根据提供的原始值保持一直。

--randomize     参数名称

未设置随机化参数之前
在这里插入图片描述
设置随机化参数之后
在这里插入图片描述


Sqlmap设置日志过滤目标

与使用选项-l使用从提供的日志解析的所有主机不同, 您可以指定有效的Python正则表达式, 用于过滤所需的日志。

--scope="选择内容或者过滤表达式"

在这里插入图片描述

http://192.168.4.10/web/sqli-labs/Less-2/?id=1
以上是测试目标,然后再访问一些其他的网页,进行筛选
python2 sqlmap.py -l C:\Users\Administrator\Desktop\proxy.txt --scope="192.168.4.10"

在这里插入图片描述


Sqlmap设置忽略401

--ignore-401    参数用来忽略未验证错误。

如果您想测试偶尔返回HTTP错误401(未经授权的)的站点,而您如果想忽略它并在不提供适当凭证的情况下继续测试,那么您可以使用该参数。
实例站点:

http://192.168.4.7/access/Production/PRODUCT_DETAIL.asp?id=1513
sqlmap.py -u "http://192.168.4.7/access/Production/PRODUCT_DETAIL.asp?id=1513" --ignore-code 401

在这里插入图片描述


Sqlmap设置HTTP协议私钥

当web服务器需要适当的客户端证书和用于身份验证的私钥时,应该使用此选项。提供的值应该是一个PEM格式的key_file,其中包含证书和私钥。

--auth-file    文件名

Sqlmap设置安全模式

然避免在多次请求失败后销毁会话,中断连接,导致探测失败。有时,如果执行了一定数量的不成功请求,则在此期间的web应用程序或检查技术会销毁会话。这可能发生在sqlmap的检测阶段或利用任何盲SQL注入类型时。原因是SQL有效负载不一定返回输出,因此可能会向应用程序会话管理或检查技术发出信号。通过这种方式,sqlmap将访问每个预定义数量的请求,而不对某个安全URL执行任何类型的注入。

--safe-url,     指定对应url
--safe-post,    POST数据发送到一个安全的URL
--safe-req,    读取对应http请求的单个文件,从文件加载安全的HTTP请求
--safe-freq,   多条请求的文件,定期请求访问一个安全的URL

Sqlmap设置忽略URL编码

据参数的位置(例如GET),默认情况下它的值可以是URL编码的。在某些情况下,后端web服务器不遵循RFC标准,需要以原始的非编码形式发送值,那么在这种情况下就可以设置该参数忽略。

--skip-urlencode。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值