kali渗透学习-sqlmap自动注入(二)Request类

Request
在这里插入图片描述
可以利用谷歌查找此类回包网站
#inurl:.php?id=

1、 数据段:–data

Get/post都可以使用

【POST方法】Sqlmap -u “http://1.1.1.1/a.php” --data=”user=1&pass=2” –f

#sqlmap可自动识别“&”
在这里插入图片描述
在这里插入图片描述

【GET方法】Sqlmap –u “http://1.1.1.1/a.php” –-data=”user=1&pass=2”

在这里插入图片描述
2、 变量分隔符:–param-del

#大部分web application使用&作为变量之间的分隔符,但有些会使用”;”、“/”等。则需使用—param-del来指定

Sqlmap –u “http://1.1.1.1/a.php” –data=”q=foo;id” –param-del=;” –f

3、 Cookie头(靶机:DVWA)

Web应用需要基于cookie的身份认证

还会检查cookie中的注入点(sqlmap自动测试)。

#只有当level>=2时,才会去扫描cookie中是否存在注入点
在这里插入图片描述
#当cookie信息更新了,sqlmap会自动检测新的http头,自动添加新的cookie。【可使用—drop-set-cookie暂停其功能】

Sqlmap –u “http://1.1.1.1/a.php?id=1” –cookie=”a=1;b=2” –f

在这里插入图片描述
4、 --user-agent
隐藏自己身份不会被嗅探到

Sqlmap/1.0-dev-xxxxxx(默认情况下为这样)

--random-agent   【随机使用user-agent,user-agent字典文件】

5、 APP/WAF/IPS/IDS 过滤异常user-gent报错

[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 用此伪装绕过

6、 Host头:–host 【也有可能存在注入点,比较少见】

前提:level=5

7、 Referer头:–referer 【理论上都有可能存在】

当浏览器向WEB服务器发送请求的时候,一般会带上HTTP REFERER,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。

前提:level>=3

8、 额外的header:–headers 【开发者可能自定义http头】

每个头单独一行(名称区分大小写)

sqlmap -u “http://1.1.1.1/a.php?id=1” --headers="Host:www.a.com\nUser-Agent:yqwr" 【\n:用于换行;需注意大小写】

##默认情况下使用GET方法,若失败,再尝试POST方法

–method=POST/GET

9、 基于HTTP协议的身份验证

Basic/Digest/NTLM 【身份认证类型https://technet.microsoft.com/zh-cn/library/ms191264(v=sql.105).aspx】

Sqlmap –u “http://1.1.1.1/a.php?id=1” –auth-type Basic –auth-cred “user:pass”

10、–auth-cert / --auth-file 【少见】

基于客户端证书的身份认证

–auth:file=”ca.PEM”

含私钥(或包含PEM格式的证书链)的PEM格式证书文件

11、 http(s)代理

–proxy=”http://127.0.0.1:8087”

–proxy-cred=”name:pass”

–ignore-proxy

      忽略系统级代理设置,通常用于扫描本地网络目标
Sqlmap –u ”http://1.1.1.1/a.php?id=1” –proxy=”http://127.0.0.1:8087” -f

#命令规范【–命令=”参数”】

12、–delay

每次http(s)请求之间延迟时间,浮点数,单位为秒,默认无延迟,以网络带宽,最大程度发包

13、–timeout

请求超时时间,浮点数,默认为30秒

14、–retires

http(s)连接超时重试次数,默认3次

15、–randomize

长度、类型与原始值保持一致的前提下,指定每次请求随机取值的参数名

#如:sqlmap –u “http://1.1.1.1/a.php?id=100” –randomize=”id”

16、–scope 【作用:指定范围】

过滤日志内容,通过正则表达式筛选扫描对象

Sqlmap -l burp.log –scope=”(www)?.target.(com | net | org)”

Sqlmap –l 2.log –scope=”(19)?.168.20.(1|10|100)” –level 3 –dbs

User-agent中的注入点
在这里插入图片描述
#使用靶场mutillidae,获得get/post请求

0x00使用burpsuit记录日志信息
在这里插入图片描述
0x01在mutillidae中进行手动爬网

17、–safe-url / --sqfe-freq

     检测和盲注截断会产生大量失败请求,服务器端可能因此销毁session

     每次发送--safe-freq(频率)次注入请求后,发送一次正常请求

18、–skip-urlencode

默认GET方法会对传输内容进行编码,某些WEB服务器不遵守RFC标准编码,而使用原始字符提交数据。【此为web application的特征,需在扫描前分析】

19、–eval

【典型使用场景:某些web application中找回密码的链接

(sqlmap –u ”http://mailaddress&hash=wqd32ni5abvi7a” —eval=”import haslib;hashlib.md5(id).hexdigest()”){其中hash值为邮箱地址的hash值;其他情况:hash值为时间}】

每次请求前执行指定的python代码

每次请求更改或增加新的参数值(时间依赖、其他参数值依赖)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值