sqlmap在默认情况下除了使用CHAR()函数防止出现单引号,没有对注入的数据进行修改,还可以使用--tamper参数对数据做修改来绕过WAF等设备,其中大部分脚本主要用正则模块替代攻击载荷字符编码的方式来绕过WAF的检测规则。
  sqlmap.py xxxx --tamper ”模块名“
  目前官方提供53个绕过脚本
  priority定义脚本的优先级,用于有多个tamper脚本的情况。
  dependencies函数声明该脚本使用/不适用的范围,可以为空。
  在日常使用中,我们会对一些网站是否有安全防护(WAF/IDS/IPS)进行试探,可以使用参数--identify-waf进行检测。下面介绍一些常用的tamper脚本。
  1、apostrophemask.py:将引号替换为UTF-8,用于过滤单引号
  2、base64encode.py:替换为base64编码
  3、multiplespaces.py:围绕SQL关键字添加多个空格
  4、space2plus.py:用+号替换为空格
  5、nonrecursivereplacement.py:作为双重查询语句,用双重语句替代预定义的SQL关键字(适用于非常弱的自定义过滤器,例如将SELECT替换为空)
  6、space2randomblank.py:将空格替换为其他有效字符
  7、unionalltounion.py:将UNION ALL SELECT替换为UNION SELECT
  8、securesphere.py:追加特制的字符串
  9、space2hash.py:将空格替换为#号,并添加一个随机字符串和换行符
  10、space2mssqlblank.py(mssql):将空格替换为其他空符号
  11、spce2mssqlhash.py:将空格替换为#号,并添加一个换行符
  12、between.py:用NOT BETWEEN 0 AND替换大于号(>),用BETWEN AND替换等号(=)
  13、percentage.py:ASP允许在每个字符前面添加一个%号
  14、sp_password.py:从DBMS日志的自动模糊处理的有效载荷中追加sp_password
  15、charencode.py:对给定的Payload全部字符使用URL编码(不处理已经编码的字符)
  16、randomcase.py:随机大小写
  17、charunicodeencode.py:字符串unicode编码
  18、space2comment.py:将空格替换为/**/
  19、equaltolike.py:将等号替换为like
  20、greatest.py:绕过对“>”的过滤,用GREATEST替换大于号
  以上测试通过的数据库类型和版本:
  mysql4、mysql5.0和mysql5.5
  orcale10g
  postgresql8.3、postgresql 8.4和postgresql9.0
  21、ifnull2ifisnull.py:绕过对IFNULL的过滤,替换类似IFNULL(A,B)为IF(ISNULL(A),B,A)
  测试通过的数据库类型和版本为MySQL 5.0和MySQL 5.5
  22、modsecurityversioned.py:过滤空格,使用MySQL内联注释的方式进行注入
  测试通过的数据库类型和版本为MySQL5.0
  23、space2mysalblank.py:将空格替换为其它空白符号(适用于MySQL)
  测试通过的数据库类型和版本为MySQL5.1
  24、modesecurityzeroversioned.py:使用MySQL内联注释的方式(/*!00000*/)进行注入
  测试通过的数据库类型和版本为MySQL 5.0
  25、space2mysqldash.py:将空格替换为--,并添加一个换行符
  26、bluecoat.py:在SQL语句之后用有效的随机空白符替换空格符,随后用LIKE替换等于号
  测试通过的数据库类型和版本为MySQL5.1和SGOS
  27、versionedkeywords.py:注释绕过
  28、halfversionedmorekeywords.py:当数据库为MySQL时绕过防火墙,在每个关键字之前添加MySQL版本注释
  测试通过的数据库类型和版本为MySQL 4.0.18和MySQL 5.0.22
  29、space2morehash.py:将空格替换为#号,并添加一个随机字符串和换行符
  测试通过的数据库类型和版本为MySQL5.1.14
  30、apostrophenullencode.py:用非法双字节unicode字符替换单引号
  31、appendnullbyte.py:在有效负荷的结束位置加载零字节字符编码
  32、chardoubleeencode.py:对给定的Payload全部字符使用双重URL编码(不处理已编码的字符)
  33、unmagicquotes.py:用一个多字节组合(%bf%27)和末尾通用注释也一起替换空格
  34、randomcomments.py:用/**/分割SQL关键字
  虽然SQLMAP自带的tamper可以做很多事情,但在实际环境中,往往比较复杂,可能会遇到很多情况,tamper不可能很全面地应对各种环境。

SQLMap自带绕过脚本tamper的讲解的更多相关文章

  1. sqlmap之waf绕过

    #一点补充 在老版本的安全狗中,可通过构造payload: http://xx.xx.xx.xx/sqli-labs/Less-2/index.php/x.txt?id=1 and 1=1 可通过in ...

  2. sqlmap和burpsuite绕过csrf token进行SQL注入检测

    利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...

  3. Sqlmap Tamper绕过脚本详解

    apostrophemask.py 作用:将引号替换为UTF-8,用于过滤单引号 base64encode.py 作用:替换为base64编码 multiplespaces.py 作用:围绕SQL关键 ...

  4. 利用sqlmap和burpsuite绕过csrf token进行SQL注入 (转)

    问题:post方式的注入验证时遇到了csrf token的阻止,原因是csrf是一次性的,失效导致无法测试. 解决方案:Sqlmap配合burpsuite,以下为详细过程,参照国外牛人的blog(不过 ...

  5. Jmeter4.X - 使用本身自带的脚本录制功能录制脚本

    1.前言 记录对Jmeter评估研究的过程,本文记录使用apache网站提供的原Jmeter使用自带功能进行脚本录制. 本文可用于面向B/S WEB应用测试的工程师熟悉Jmeter使用.章节安排按照脚 ...

  6. Kafka压力测试(自带测试脚本)(单机版)

    一.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...

  7. 利用script和scriptlet moniker绕过脚本白名单限制

    没事儿看了一下subtee和enigma0x3今年在BSides Nashville 2017上的演讲,觉得这两个猥琐男简直不能再猥琐了 :-)其中有一个猥琐小技巧,又可以让我们好好hunting一番 ...

  8. sqlmap的篡改绕过WAF

    space2comment.py Replaces space character (‘ ‘) with comments ‘/**/’ Example: * Input: SELECT id FRO ...

  9. Springboot 打包自带启动脚本

    一直以来,我都是 gradlew build java -jar xxx.jar 来启动springboot项目的.今天突然发现,springboot自动封装了一个bootJar的任务脚本. demo ...

  10. sqlmap详解

    sqlmap是一个自动化的sql注入工具,其主要功能是扫描.发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库有MySQL, Oracle,PostgreSQL, Microsof ...

随机推荐

  1. mac通过docker一键部署Nexus3

    目录 mac通过docker一键部署Nexus3 一.前言 二.系统配置 三.安装步骤 1.Dockerhub查看镜像地址 2.一键安装 2.1.克隆脚本 2.2.安装程序 2.2.1.程序安装详情 ...

  2. 驱动开发:内核取ntoskrnl模块基地址

    模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程 ...

  3. 【C++】从零开始的CS:GO逆向分析3——写出一个透视

    [C++]从零开始的CS:GO逆向分析3--写出一个透视 本篇内容包括: 1. 透视实现的方法介绍 2. 通过进程名获取进程id和进程句柄 3. 通过进程id获取进程中的模块信息(模块大小,模块地址, ...

  4. 虚拟机安装Linux系统的网络配置

    1. 进入配置文件配置.如果不知道ifcfg 后的内容.使用ifconfig vi /etc/sysconfig/network-scripts/ifcfg-ens33 如果不知道网关怎样配置就找到这 ...

  5. Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)

    models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...

  6. go基础语法50问,来看看你的go基础合格了吗?

    目录 1.使用值为 nil 的 slice.map会发生啥 2.访问 map 中的 key,需要注意啥 3.string 类型的值可以修改吗 4.switch 中如何强制执行下一个 case 代码块 ...

  7. packet Capture 手机抓包工具

    packet Capture packet Capture 是一款免root的app, 运行在安卓平台上,用于捕获http/https网络流量嗅探的应用程序 特点: 捕获网络数据包,并记录太慢,使用中 ...

  8. 看了同事这10个IDEA神级插件,我也悄悄安装了

    昨天,有读者私信发我一篇文章,说里面提到的 Intellij IDEA 插件真心不错,基本上可以一站式开发了,希望能分享给更多的小伙伴,我在本地装了体验了一下,觉得确实值得推荐,希望小伙伴们有时间也可 ...

  9. 河北首家城商行传统核心业务国产化,TDSQL突破三“最”为秦皇岛银行保驾护航

    11 月 1 日,秦皇岛银行新一代分布式核心系统成功投产并稳定安全运行超过三个月,标志着秦皇岛银行数字化转型应用和服务水平登上了一个新台阶. 这是秦皇岛银行有史以来规模最大.范围最广.难度最高的一次系 ...

  10. 用map来统计数组中各个字符串的数量

    1.背景 想要统计这一个字符串数组中每一个非重复字符串的数量,使用map来保存其key和value.这个需求在实际开发中经常使用到,我以前总是新建一个空数组来记录不重复字符串,并使用计数器计数,效率低 ...