星战时空·网游活动中心

sql注入工具:sqlmap 入门命令使用详解说明

前言帮助初学者使用sqlmap注入工具,便于快速掌握及理解sqlmap工具,同时也是一个sql帮助命令手册。提供示例及说明。如何在windows/mac中安装可自行查找。本次使用环境是kali来演示操作使用。

提示说明:本文章仅用于信息安全教学,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与UP主无关。遵纪守法做一个良好公民,切勿违法国家计算机安全法,以免牢底坐穿。

工具介绍sqlmap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。它具有强大的检测引擎,同时有众多功能,包括数据库指纹识别、从数据库中获取数据、访问底层文件系统以及在操作系统上带内连接执行命令。

工具使用使用格式:

python3 sqlmap [options]如在kali中,则不用加上python , windows 则需要加上对应的python.

帮助命令:

sqlmap -h命令将会输出英文帮助信息

常见命令实用说明

sqlmap 使用很简单,命令是结合起来使用的。现在假设我们有一个url,我们想检测是否有sql漏洞,可以输入命令:

sqlmap -u www.xxx.com?name=hellosql其中命令:-u (url) 即为url 需要检测的路径。回车运行可查看结果。

成功结果示例:成功将会返回注入成功的参数列表如下:

注入失败结果示例:

例如,我们要查看数据库:test 里面的表 user 有什么属性(字段),从帮助文档得知:

搜索列,表和/或数据库名称

-D

指定要进行枚举的指定数据库名

-T

因此只需要输入:

sqlmap -u www.xxx.com -D test -T user --columns即可列出 user表的数据信息。其他命令操作也是如同,自个可以举一反三。

命令说明┌──(parallels㉿kali-linux-2022-2)-[~]

└─$ sqlmap -hh

___

__H__

___ ___[']_____ ___ ___ {1.6.6#stable}

|_ -| . [)] | .'| . |

|___|_ [,]_|_|_|__,| _|

|_|V... |_| https://sqlmap.org

Usage: python3 sqlmap [options]

用法:python3 sqlmap [选项]选项选项中文说明-hh显示高级帮助信息和退出--version显示程序版本号和退出-vverbosity level(详细级别):0-6(默认值为1目标:选项描述-u URL目标URL (例如:"http://www.site.com/vuln.php?id=1")--url=URL目标URL-d直接数据库连接的连接字符串-l LOGFILE从Burp或WebScarab代理日志文件中解析目标-m BULKFILE扫描文本文件中提供的多个目标-r REQUESTFILE从文件中加载HTTP请求-g GOOGLEDORK将Google搜索结果作为目标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=COOKIEHTTP Cookie头部字段值(例如:"PHPSESSID=a8d127e..")--cookie-del=COO..分隔Cookie值的字符(例如:";")--live-cookies=L..用于加载最新值的实时Cookies文件--load-cookies=L..包含以Netscape/wget格式的Cookies的文件--drop-set-cookie忽略响应中的Set-Cookie头部字段--mobile通过HTTP User-Agent头部字段模仿智能手机--random-agent使用随机选择的HTTP User-Agent头部字段值--host=HOSTHTTP Host头部字段值--referer=REFERERHTTP Referer头部字段值--headers=HEADERS额外头部(例如:"Accept-Language: fr\nETag: 123")--auth-type=AUTH..HTTP身份验证类型(Basic,Digest,Bearer,...)--auth-cred=AUTH..HTTP身份验证凭据(名称:密码)--auth-file=AUTH..HTTP身份验证PEM证书/私钥文件--ignore-code=IG..忽略(有问题的)HTTP错误代码(例如:401)--ignore-proxy忽略系统默认代理设置--ignore-redirects忽略重定向尝试--ignore-timeouts忽略连接超时--proxy=PROXY使用代理连接到目标URL--proxy-cred=PRO..代理身份验证凭据(name:password)--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..发送POST数据到安全URL--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-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仅在积极的启发式(s)时执行彻底的测试--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进行广泛的DBMS版本指紋(fingerprint)枚举:

这些选项可用于枚举后端数据库管理系统信息、结构和包含在表

选项描述-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=MSFPATHMetasploit框架安装的本地路径--tmp-path=TMPPATH远程临时文件目录的绝对路径Windows注册表访问:

这些选项可用于访问后端数据库管理

系统Windows注册表

选项描述--reg-read读取Windows注册表键值--reg-add写入Windows注册表键值数据--reg-del删除Windows注册表键值--reg-key=REGKEYWindows注册表键--reg-value=REGVALWindows注册表键值--reg-data=REGDATAWindows注册表键值数据--reg-type=REGTYPEWindows注册表键值类型概述:

这些选项可用于设置一些通用工作参数

选项描述-s SESSIONFILE从存储的(.sqlite)文件加载会话-t TRAFFICFILE将所有HTTP流量记录到文本文件--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和表中清理DBMS--crawl=CRAWLDEPTH从目标URL开始爬取网站--crawl-exclude=..用于排除爬取页面的正则表达式(例如:"logout")--csv-del=CSVDELCSV输出中使用的分隔符字符(默认为逗号)--charset=CHARSET盲注SQL注入字符集(例如:"0123456789abcdef")--dump-format=DU..转储数据的格式(CSV(默认值),HTML或SQLITE)--encoding=ENCOD..数据检索所使用的字符编码(例如:"GBK")--eta显示每个输出的到达时间估计值--flush-session清除当前目标文件的会话文件--forms解析和测试目标URL上的表单--fresh-queries忽略会话文件中存储的查询结果--gpage=GOOGLEPAGE使用指定页码的Google搜索结果进行搜索--har=HARFILE将所有HTTP流量记录到HAR文件中--hex在数据检索期间使用十六进制转换--output-dir=OUT..自定义输出目录路径--parse-errors解析并显示响应中的 DBMS 错误信息--preprocess=PRE..使用给定脚本来进行预处理(请求)--postprocess=PO..使用给定脚本来进行后处理(响应)--repair转储具有未知字符标记(?)的条目--save=SAVECONFIG将选项保存到配置 INI 文件--scope=SCOPE用于过滤目标的正则表达式--skip-heuristics跳过漏洞的启发式检测--skip-waf跳过 WAF/IPS 保护的启发式检测--table-prefix=T..用于临时表的名称前缀(默认为:"sqlmap")--test-filter=TE..通过有效载荷和/或标题选择测试(例如:ROW)--test-skip=TEST..跳过测试的有效载荷和/或标题(例如:BENCHMARK)--web-root=WEBROOTWeb 服务器文档根目录(例如:"/var/www")其他:

这些选项不属于任何其他类别

选项描述-z MNEMONICS使用简短助记符(例如:"flu,bat,ban,tec=EU")--alert=ALERT找到 SQL 注入时运行主机 OS 命令(S)--beep在问题和/或漏洞被发现时发出蜂鸣声--dependencies检查缺少的(可选)sqlmap 依赖项--disable-coloring禁用控制台输出着色--list-tampers显示可用的篡改脚本列表--no-logging禁用日志记录到文件--offline在脱机模式下工作(仅使用会话数据)--purge安全地删除 sqlmap 数据目录中的所有内容--results-file=R..多个目标模式下 CSV 结果文件的存储位置--shell提示交互式 sqlmap shell--tmp-dir=TMPDIR用于存储临时文件的本地目录--unstable调整不稳定连接的选项--update更新 sqlmap--wizard为初学者用户提供简单的向导界面

Copyright © 2022 星战时空·网游活动中心 All Rights Reserved.