Sqlmap之tamper脚本

admin 2025年5月28日09:18:04评论38 views字数 4441阅读14分48秒阅读模式
免责声明
本文只做研究使用,不可对真实未授权网站使用,所造成的一切后果本文概不承担
Sqlmap介绍
    SQLMAP 是一种开源渗透测试工具,可自动执行检测和利用 SQL 注入缺陷以及接管数据库服务器的过程。它配备了一个强大的检测引擎、终极渗透测试器的许多利基功能以及广泛的开关,从数据库指纹识别、从数据库获取数据,到访问底层文件系统和通过带外连接在作系统上执行命令
Sqlmap特征
  • 完全支持 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命令

Sqlmap下载
下载:https://sqlmap.org/
Sqlmap之tamper脚本
支持github/zip下载
目前最新版本:1.9.5.21

关键词替换类

  • 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脚本

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月28日09:18:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Sqlmap之tamper脚本https://cn-sec.com/archives/4104565.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息