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. 1_JavaWeb引言

    JavaEE平台 (Java Platform Enterprise Edition) Web进阶核心知识 part1: 数据库应用与JDBC MySQL, SQL语言, JDBC, 三层架构, 连接 ...

  2. [CG从零开始] 3. 安装 pyassimp 库加载模型文件

    assimp 是一个开源的模型加载库,支持非常多的格式,还有许多语言的 binding,这里我们选用 assimp 的 python 的 binding 来加载模型文件.不过社区主要是在维护 assi ...

  3. spring boot项目使用mybatis-plus代码生成实例

    前言 mybatis-plus官方地址 https://baomidou.com mybatis-plus是mybatis的增强,不对mybatis做任何改变,涵盖了代码生成,自定义ID生成器,快速实 ...

  4. 代码随想录第十三天 | 150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素

    第一题150. 逆波兰表达式求值 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 注意 两个整数之间的除法只保留整数部分. ...

  5. RAID5 IO处理之写请求代码详解

    我们知道RAID5一个条带上的数据是由N个数据块和1个校验块组成,其校验块由N个数据块通过异或运算得出,这样才能在任意一个成员磁盘失效时通过其他N个成员磁盘恢复出用户写入的数据.这也就要求RAID5条 ...

  6. Docker | redis安装及测试

    此篇文章目的是熟悉一下redis的下载安装使用,为后面部署redis集群做准备. 下载安装 linux上,我在/download目录下,执行下载的命令 root@--- ~]# wget http:/ ...

  7. 云计算_OpenStack

    部署方式-Fuel 注:部署失败且Fuel方式已过时. 部署方式-packstack 注:基于系统版本CentOS 7.9 2009部署 系统基本设置 设置静态IP=192.168.80.60 设置h ...

  8. 【Odoo】Odoo16-性能优化提升

    上海序说科技,专注于基于Odoo项目实施,实现企业数智化,助力企业成长. 老韩头的开发日常,博客园分享(2022年前博文) 10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优 ...

  9. $_SERVER["REQUEST_URI"],在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持

    例如访问:http://localhost/index.php?app=lunbo获取到的$_SERVER["REQUEST_URI"]为"/index.php?app= ...

  10. 十四、资源控制器之RS

    RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 .即如果有容器异常退出,会自动创建新的 Pod 来替代:而如果异常多出来的容器也 ...