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. WPF 的内部世界(Binding)

    目录 一.控件与布局 二.Binding基础 前言 "一桥飞架南北, 天堑变通途" 写于1956年,1957年武汉长江大桥建成, 称之为:一桥飞架南北,大堑变通途.它形象地描述武汉 ...

  2. Spring让人眼前一亮的11个小技巧

    前言 我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程). 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出. ...

  3. 为Azure-云准备一个基于Red Hat 8.x 的虚拟机镜像

    由于公司最近要求部分项目上线到Azure云上,要求操作系统使用的Redhat 8.x,而且必须加固 而在Azure官网提供的镜像中,又没有Redhat,于是只有自己自定义Redhat镜像,最后加固,作 ...

  4. 2. 单主机 Elasticsearch 双节点或多节点集群环境部署

    我已经买了一年的腾讯云轻量级服务器,并且安装好了ES,也做了一些系统配置,比如 修改vm.max_map_count.修改文件描述符数量 同时,也用ES安装目录下的 bin/elasticsearch ...

  5. HTML+CSS基础知识(5)相对定位、绝对定位、固定定位

    文章目录 1.相对定位 1.1 代码 1.2 测试结果 2.绝对定位 2.1 代码 2.2 测试 3.固定定位 3.1 代码 3.2 测试结果 1.相对定位 1.1 代码 <!DOCTYPE h ...

  6. Unity——第一人称控制器的实现

    Unity--第一人称控制器的实现 一.功能描述 在一个场景中实现人物的前后左右移动和跳跃功能:其中前后左右移动通过W.A.S.D方向键实现,跳跃功能通过空格键实现,并且考虑到重力作用,来调节跳跃功能 ...

  7. pod(七):静态pod

    目录 一.系统环境 二.前言 三.静态pod 3.1 何为静态pod 3.2 创建静态pod 3.2.1 使用--pod-manifest-path指定静态pod目录 3.2.2 静态pod默认目录/ ...

  8. Oracle设置内存参数后,启动数据库报ORA-00843 ORA-00849解决办法

    Oracle安装完成后,调优内存参数(MEMORY_TARGET和MEMORY_MAX_TARGET设置为0),重启数据库,报ORA-00843 ORA-00849错误. 根据提示,不应将MEMORY ...

  9. 【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析

    一.前言 Java线程同步两种方式,synchronized关键字和Lock锁机制,其中,AQS队列就是Lock锁实现公平加锁的底层支持. 二.AQS源码对于lock.lock()的实现 2.1 AQ ...

  10. npm安装hexo报错

    报错提示 npm WARN saveError ENOENT: no such file or directory, open '/home/linux1/package.json' npm noti ...