-
完全支持 MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Amazon Redshift、Vertica、Mckoi、Presto、Altibase、MimerSQL、CrateDB、Greenplum、Drizzle、Apache Ignite、Cubrid、InterSystems Cache、IRIS、eXtremeDB、FrontBase、Raima Database Manager、YugabyteDB、Aurora、OpenGauss、ClickHouse、Virtuoso 和 DM8 数据库管理系统。
-
完全支持六种 SQL 注入技术:基于布尔的盲注、基于时间的盲注、基于错误的盲注、基于 UNION 查询的查询、堆叠查询和带外查询。
-
通过提供 DBMS 凭证、IP 地址、端口和数据库名称,支持直接连接到数据库,而无需通过 SQL 注入。
-
支持枚举用户、密码哈希、权限、角色、数据库、表和列。
-
自动识别密码哈希格式并支持使用基于字典的攻击来破解它们。
-
支持根据用户的选择完全转储数据库表、一系列条目或特定列。用户还可以选择仅转储每列条目中的一系列字符。
-
支持搜索特定数据库名称、所有数据库中的特定表或所有数据库表中的特定列。例如,这对于识别包含自定义应用程序凭证的表非常有用,其中相关列的名称包含字符串(如 name 和 pass)。
-
当数据库软件为 MySQL、PostgreSQL 或 Microsoft SQL Server 时,支持从数据库服务器底层文件系统下载和上传任何文件。
-
当数据库软件为 MySQL、PostgreSQL 或 Microsoft SQL Server 时,支持在数据库服务器底层作系统上执行任意命令并检索其标准输出。
-
支持在攻击者计算机和数据库服务器底层作系统之间建立带外有状态 TCP 连接。此通道可以是交互式命令提示符、Meterpreter 会话或图形用户界面 (VNC) 会话,具体取决于用户的选择。
-
通过 Metasploit 的 Meterpreter 命令支持数据库进程的用户权限提升。getsystem命令
关键词替换类
-
0eunion.py:将 UNION 替换为 0eUNION,适用于多种数据库,如 MySQL、PostgreSQL、Oracle。
-
between.py:将 OR 替换为 BETWEEN,适用于多种数据库。
-
commalesslimit.py:将 LIMIT 后的逗号替换为其他方式,适用于 MySQL、PostgreSQL。
-
commalessmid.py:在函数参数中避免使用逗号,适用于 Oracle。
-
concat2concatws.py:将 CONCAT 替换为 CONCAT_WS,适用于多种数据库。
-
dunion.py:对 UNION 注入语句进行变形,适用于多种数据库。
-
equaltolike.py:将 = 替换为 LIKE,适用于多种数据库。
-
equaltorlike.py:将 = 替换为 RLIKE,适用于 MySQL。
-
greatest.py:使用 GREATEST 或 LEAST 函数代替条件判断,适用于多种数据库。
-
if2case.py:将 IF 替换为 CASE 表达式,适用于多种数据库。
-
ifnull2casewhenisnull.py:将 IFNULL 替换为 CASE WHEN IS NULL,适用于多种数据库。
-
ifnull2ifisnull.py:将 IFNULL 替换为 IF(IS NULL,...),适用于多种数据库。
-
misunion.py:对 UNION 注入语句进行多种变形,适用于多种数据库。
-
substring2leftright.py:将 SUBSTRING 替换为 LEFT 和 RIGHT 组合,适用于多种数据库。
-
symboliclogical.py:将 AND 替换为 &&,OR 替换为 ||,适用于多种数据库。
-
unionalltounion.py:将 UNION ALL 替换为 UNION,适用于多种数据库。
编码与转义类
-
appendnullbyte.py:在参数末尾添加空字节 %00,适用于多种数据库。
-
base64encode.py:将 payload 进行 Base64 编码,适用于多种数据库。
-
binary.py:将字符串前添加 BINARY,适用于 MySQL。
-
bluecoat.py:在 payload 后追加特定字符串,适用于多种数据库。
-
chardoubleencode.py:对字符进行双层 URL 编码,适用于多种数据库。
-
charencode.py:将字符转换为 URL 编码,适用于多种数据库。
-
charunicodeencode.py:将字符转换为 Unicode 编码,适用于多种数据库。
-
charunicodeescape.py:将字符转换为 Unicode 转义序列,适用于多种数据库。
-
decentities.py:将字符转换为 HTML 数字实体,适用于多种数据库。
-
hex2char.py:将十六进制字符串转换为字符,适用于多种数据库。
-
hexentities.py:将字符转换为十六进制编码,适用于多种数据库。
-
htmlencode.py:将字符转换为 HTML 实体编码,适用于多种数据库。
-
lowercase.py:将 payload 转为小写,适用于多种数据库。
-
ord2ascii.py:将 ORD 替换为 ASCII,适用于多种数据库。
-
overlongutf8.py:生成过长 UTF-8 编码字符,适用于多种数据库。
-
overlongutf8more.py:提供更多过长 UTF-8 编码变形,适用于多种数据库。
-
randomcase.py:随机改变字母大小写,适用于多种数据库。
-
sp_password.py:在 payload 后添加 sp_password,适用于 Microsoft SQL Server。
-
unmagicquotes.py:对 PHP 魔术引号进行还原,适用于 PHP 环境。
-
uppercase.py:将 payload 转为大写,适用于多种数据库。
注释与空格处理类
-
apostrophemask.py:对单引号进行编码,适用于多种数据库。
-
apostrophenullencode.py:将单引号替换为 NULL 编码形式,适用于多种数据库。
-
commentbeforeparentheses.py:在括号前添加注释,适用于多种数据库。
-
escapequotes.py:对单引号和双引号进行转义,适用于多种数据库。
-
halfversionedmorekeywords.py:根据数据库版本使用特定关键字,适用于多种数据库。
-
modsecurityversioned.py:生成绕过特定 ModSecurity 版本检测的 payload,适用于多种数据库。
-
modsecurityzeroversioned.py:生成绕过 ModSecurity 0 元版本检测的 payload,适用于多种数据库。
-
multiplespaces.py:用多个空格代替单个空格,适用于多种数据库。
-
percentage.py:在关键字后添加 %,适用于多种数据库。
-
randomcomments.py:在 payload 中随机插入注释,适用于多种数据库。
-
schemasplit.py:分离数据库对象的架构名与对象名,适用于多种数据库。
-
scientific.py:将数值转换为科学计数法,适用于多种数据库。
-
sleep2getlock.py:将 SLEEP 替换为 GET_LOCK,适用于 MySQL。
-
space2comment.py:将空格替换为注释,适用于多种数据库。
-
space2dash.py:将空格替换为 -- 加随机字符串和换行符,适用于多种数据库。
-
space2hash.py:将空格替换为 # 加随机字符串和换行符,适用于多种数据库。
-
space2morecomment.py:将多个连续的空格替换为多个注释,适用于多种数据库。
-
space2morehash.py:将多个连续的空格替换为多个 # 符号,适用于多种数据库。
-
space2mssqlblank.py:将空格替换为 Microsoft SQL Server 的空白符,适用于 MSSQL。
-
space2mssqlhash.py:将空格替换为 # 加随机字符串和换行符,适用于 MSSQL。
-
space2mysqlblank.py:将空格替换为 MySQL 的空白符,适用于 MySQL。
-
space2mysqldash.py:将空格替换为 -- 加随机字符串和换行符,适用于 MySQL。
-
space2plus.py:将空格替换为 +,适用于多种数据库。
-
space2randomblank.py:将空格替换为随机空白符,适用于多种数据库。
-
xforwardedfor.py:添加伪造的 X-Forwarded-For 头,适用于多种数据库。
数据库特定类
-
luanginx.py:对 Nginx Lua 环境下的 payload 进行处理,适用于 Nginx 环境。
-
luanginxmore.py:提供更多 Nginx 环境下的变形,适用于 Nginx 环境。
-
varnish.py:添加 HTTP 头 X-originating-IP,绕过 Varnish WAF,适用于多种数据库。
-
informationschemacomment.py:引用 INFORMATION_SCHEMA 时添加注释,适用于多种数据库。
-
versionedkeywords.py:根据数据库版本使用特定关键字,适用于多种数据库。
-
versionedmorekeywords.py:提供更多版本特定的关键字变形,适用于多种数据库。
绕过特定防护系统类
-
bluecoat.py:绕过 BlueCoat WAF,适用于多种数据库。
-
modsecurityversioned.py:绕过特定 ModSecurity 版本检测,适用于多种数据库。
-
modsecurityzeroversioned.py:绕过 ModSecurity 0 元版本检测,适用于多种数据库。
-
varnish.py:绕过 Varnish WAF,适用于多种数据库。
-
xforwardedfor.py:绕过请求验证,适用于多种数据库。
原文始发于微信公众号(一个努力的学渣):Sqlmap之tamper脚本
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论