二十四、SQLMap自动注入-(3)REQUEST类

目录

  1. 数据段--data选项
  2. 变量分隔符选项 --param-del
  3. cookie头选项 --cookie
  4. 选项--user-agent
  5. 选项--random-agent
  6. 检测user-agent注入点
  7. host头选项 --host
  8. Referer头选项 --referer
  9. 额外的header选项 --headers
  10. 额外的header选项 --headers
  11. 基于HTTP协议的身份认证
  12. 客户端认证选项--auth-cert/--auth-file
  13. http(s)代理
  14. http(s)代理
  15. --timeout选项
  16. --timeout选项
  17. randomize
  18. --scope选项
  19. --scope选项
  20. --skip-urlencode选项
  21. --eval选项

1、数据段--data选项

  • get / post 都适用
#sqlmap -u "http://1.1.1.1/a.php" --data="user=1&pass=2" -f //将get或post中的数据段以data传入

首先,使用F12,调用调试器,然后点击“启用”


设置浏览器抓包

首先复制抓包后的链接:


复制链接

然后将其post提交的数据已--data
选择post数据
#sqlmap -u "http://192.168.50.183/mutillidae/index.php?page=login.php" --data "username=1&password=2&login-php-submit-button=Login" --dbs

上述是post方法,下面是将get方法进行提交、拆分

sqlmap -u "http://192.168.50.183/mutillidae/index.php" --data="page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details" -p username --users

2、变量分隔符选项 --param-del

sqlmap -u "http://1.1.1.1/a.php" --data="q=foo;id=1" --param-del=";" -f
用分号;作为分隔符,之前是使用&

3、cookie头选项 --cookie

  • 使用cookie作为登录标识,即需要先正常登录后,在进行相关的访问的,在探测时需要使用--cookie:
  • web应用需要机遇cookie的身份认证
  • 检查cookie中的注入点(sqlmap自动测试,cookie字段中的变量存在的注入点检测,在设置level≥2的时候)
  • Set-Cookie / --drop-set-cookie(当服务器响应新的cookie时,不更新,仍使用原有cookie) / --cookie-del

访问dvwa的的盲注页面:


dvwa盲注页面

复制cookie数据:

cookie信息

使用sqlmap进行sql探测

#sqlmap -u "http://192.168.1.183/dvwa/vulnerabilities/sqli_blind/?id=2&Submit=Submit#" --cookie="security=low;PHPSESSID=db6d77a898092583a30086fd7a6c1823" --dbs
//在登录后需要使用cookie认证的探测
 #sqlmap -u "http://192.168.1.183/dvwa/vulnerabilities/sqli_blind/?id=2&Submit=Submit#" --cookie="security=low;PHPSESSID=db6d77a898092583a30086fd7a6c1823" --level2 --dbs
//设置level为2,最大值可设置为5,还可以继续探测到cookie中变量是否存在注入

4、选项--user-agent

sqlmap在发送扫描探测的时候,默认使用的user-agent为sqlmap/1.0-xxxx(http://sqlmap.org)的字符串。

通过wireshark查看默认下sqlmap的user-agent,首先仍使用上述sqlmap语句进行探测,同时打开wireshark,过滤为目标IP地址,并观察tcpstream流


sqlmap探测
查看tcp流

sqlmap默认的useragent

可以通过使用--user-agent=“xxx”进行修改,也可以通过下面的--random-agent修改

5、选项--random-agent

/usr/share/sqlmap/txt/user-agents.txt中,有已经写好的user-agent,可以使用--random-agent在其txt中随机使用一个作为user-agent。

#sqlmap -u "http://192.168.1.183/dvwa/vulnerabilities/sqli_blind/?id=2&Submit=Submit#" --cookie="security=low;PHPSESSID=db6d77a898092583a30086fd7a6c1823" --dbs --random-agent

使用wireshark抓包,查看tcp流,选取了txt中的firefox作为useragent


--random-agent修改useragent

6、检测user-agent注入点

sqlmap检查user-agent中的注入点:level≥3
APP/WAF/IPS/IDS过滤异常user-agent时,如果有如下报错,是因为useragent被服务端识别,下面报错中提示sqlmap使用--random-agent产生user-agent:

[hh:mm:20] [ERROR] the target URL responded with an unknown HTTP status code, try to force the HTTP User-Agent header with option --useragent or --random-agent

7、host头选项 --host

设置level≥5,即最高级别才会检查host头是否存在注入

--host="xxxx"

8、Referer头选项 --referer

lever≥3

--referer="xxx"

9、额外的header选项 --headers

设置header中的属性信息,改为自己想要发送的header

sqlmap -u "http://192.168.50.183/dvwa/vulnerabilities/sqli_blind/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=d9994fc98d59c687c8b7af790bd56da2" --dbs --headers="Host:www.aaa.com\nUser-Agent:bbbbb"
// \n表示换行符,每个头使用单独的一行,因此需要\n

通过wireshark可以查看修改后的Host和User-Agent

wireshark抓包

10、选项 --method=POST/GET

--method=POST/GET    //使用GET或者POST方法探测

11、基于HTTP协议的身份认证

  • HTTP
  • Basic
  • Digest
  • NTLM
# sqlmap. -u "http://1.1.1.1/a.php?id=1" --auth-type Basic --auth-cred
"user:pass“   //--auth-tyep指定认证类型,user:pass表示用户名和密码

12、客户端认证选项--auth-cert/--auth-file

关于证书,除了认证服务端之外,服务端也认证客户端这种双向认证的场景

--auth-file="ca.PEM"
  • 仅支持含有私钥的PEM格式证书文件
  • 或者是PEM格式的证书链文件

13、http(s)代理

在sqlmap进行探测的过程中,为避免被服务端发现、对IP地址进行限制,可以采取使用代理的方式探测

--proxy="http://127.0.0.1:8080"
--proxy-cred="name:pass" //访问搭理需要用户名、密码的情况下加上此选项
--ignore-proxy  //忽略系统级代理设置(一般的代理是通过浏览器代理),通常用于扫描本地网络目标

14、--delay选项

每次http(s)请求之间延迟时间,单位为秒,可以是浮点数,如1.5s也可以,默认无延迟。此项避免服务端发现注入攻击,每个一段时间发送探测。

15、--timeout选项

请求超时时间,浮点数,默认为30s,在多长时间没有接收到服务器的响应时间

16、--retries选项

http(s)连接超时重试次数,默认3次,连续超过3个timeout即不在发送请求。

17、randomize

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

#sqlmap -u "http://1.1.1.1/a.php?id=100 --randomize="id"
//每次id的值从100到999,id为的长度等保持不变

18、 --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

19、--safe-url / --safe-freq选项

  • 检测和盲注阶段会产生大量失败请求,服务器端可能因此销毁session
  • 每发送--safe-freq次注入请求后,发送一次正常请求
--safe-url  // 每次需要探测的url地址
--safe-freq  //频次,每次多少次请求后,发送正常请求

20、--skip-urlencode选项

默认Get方法会对传输内容进行编码,某些web服务器不遵守RFC编码标准,使用原始字符提交数据
直接在命令行后添加选项 --skip-urlencode

21、--eval选项

每次请求前执行指定的python代码
每次请求更改或增加新的参数值(时间依赖、其他参数数值依赖)

#sqlmap -u "http://1.1.1.1/a.php?
id=1&hash=c4ca4238a0b923820dcc509a6f75849b" --eval="import
hashlib;hash=hashlib.md5(id).hexdigest()"
//hash值依赖于前面的id信息,每次id变化的话,hash也要随之变化,此时需要--eval选项,通过python脚本实现每次id和对应的hash一致
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,212评论 2 22
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,019评论 0 5
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    linkally阅读 6,840评论 1 40
  • SQLMAP作用 判断可注入的参数 判断可以用哪种SQL注入技术来注入 识别出哪种数据库 根据用户选择,读取哪些数...
    陆洒脱阅读 3,709评论 1 4
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    查无此人asdasd阅读 1,518评论 0 1