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-git命令简洁版

    1-给项目添加git git init 2-查询当前状态,(红色显示的为在工作区,绿色为暂缓区) git status 3-提交到暂缓区 git add . 4-提交到本地仓库('xxxx'里面为注释 ...

  2. vue基础之MV*和它们之间的不同

    vue中的设计思想 vue中的设计思想主要是MV*模式,由最早的MVC(model-view-controller)框架,到后面的MVP(model-view-presenter),甚至到最后的MVV ...

  3. Hyperf使用ElasticSearch记录

    Hyperf 安装 Elasticsearch 协程客户端 hyperf/elasticsearch 主要为 elasticsearch-php 进行了客户端对象创建的工厂类封装,elasticsea ...

  4. 齐博x1背景图如何设置标签

    背景图非常特殊,由于不能点击,所以他不能直接添加标签,需要添加一个辅助标签,比如类似下面的代码 {qb:hy name="xxa001" type="image" ...

  5. 知识图谱-生物信息学-医学论文(Chip-2022)-BCKG-基于临床指南的中国乳腺癌知识图谱的构建与应用

    16.(2022)Chip-BCKG-基于临床指南的中国乳腺癌知识图谱的构建与应用 论文标题: Construction and Application of Chinese Breast Cance ...

  6. javascript编程单线程之同步模式

    javascript编程单线程之同步模式 主流的js 环境都是单线程吗模式执行js 代码, js采用为单线程的原因与最开始设计初衷有关,最早是运行在浏览器端的脚本语言,目的是为了实现页面上的动态交互, ...

  7. LcdToos如何在线对屏进行读写指令调试

    在实际屏调试过程中,工程师经常需要对屏的寄存器频繁进行参数修改和读取测试,LcdTools针对这个做了很好的支持,可以在线进行指令调试,大大提高调试效率. 打开点屏工程,连接PX01并使模组上电点亮. ...

  8. Sublime Text 修改默认语言为Python

    Sublime Text 3 修改默认语言为Python 步骤如下 英文:Tools - Developer - New Plugin 中文:工具 - 插件开发 - 新建插件 清空原来内容,用下面的代 ...

  9. mlflow详细安装部署

    1.安装docker # 安装工具 sudo yum install -y yum-utils # 添加yum仓库配置 sudo yum-config-manager --add-repo https ...

  10. 使用LabVIEW实现基于pytorch的DeepLabv3图像语义分割

    前言 今天我们一起来看一下如何使用LabVIEW实现语义分割. 一.什么是语义分割 图像语义分割(semantic segmentation),从字面意思上理解就是让计算机根据图像的语义来进行分割,例 ...