今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLMAP插件tamper编写与使用。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、SQLMAP插件tamper简介

我们在安装SQLMAP后,一般来说会有一个名为tamper的目录,如下所示:

在该目录下,有很多python脚本,如下所示:

这些python脚本,就是sqlmap的插件,tamper翻译成中文是过滤的意思,这些脚本,对sqlmap的payload进行一定的修改,将其中容易被拦截的关键字等过滤成可以绕过的形式,因此,这些脚本中的内容大多是一些替换,其中一个脚本的内容如下所示:

相关tamper脚本的功能介绍请查看文章:SQLMAP插件tamper模块介绍

二、SQLMAP插件tamper使用

上面我们介绍了SQLMAP插件tamper,而我们在使用SQLMAP对目标站点尝试进行SQL注入的时候,我们应该如何使用tamper插件呢。其实非常简单,只需要在使用SQLMAP命令的时候,添加–tamper,并指定tamper的名称即可,例如,我们执行命令:

python .\sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 --tamper randomcase --proxy=http://127.0.0.1:8080

该命令使用了–proxy参数来指定代理,这样可以使得我们使用burpsuit方便我们查看SQLMAP发送的数据包payload,burpsuit抓取到的数据包如下所示:

从上图可以看出,数据包中的payload进行了大小写随机转换的处理,tamper插件发挥作用。

三、SQLMAP插件tamper编写

最后,我们来简单介绍一下tamper插件的编写逻辑。
实际上,尽管SQLMAP自带有很多插件,但是这些插件均不能绕过当前使用的主流服务器安全防护软件。因此,我们如果要使用SQLMAP来进行SQL注入的渗透测试,经常需要自己手动编写tamper插件。
tamper插件的编写逻辑很简单,一个典型的tamper插件如下图所示:

从上图中可以看出,该插件的逻辑非常简单,输入的是原始的payload,该脚本会对payload进行处理后,然后输出处理后的payload,其核心处理语句如下所示:

retVal = re.sub(r"\s*=\s*", " LIKE ", retVal)

re.sub是依据正则表达式的替换函数,在该实例中,该函数使用了3个参数,第一个参数为正则表达式,第二个参数为要被替换成的字符,第三个参数为要检索的字符串。
该脚本的作用是,检索retVal字符串中符合该正则表达式的值,并且用LIKE替换,因此就起到了替换payload中的等号“=”,并且使用LIKE替换的目的。
因此,如果我们要编写自己的tamper插件,也可以参考上述逻辑,进行payload的替换,由于其格式是相同的,因此我们可以直接参考现有tamper格式,然后写入自己的内部逻辑,并最终生成一个py脚本,放到tamper目录下即可。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

SQLMAP插件tamper编写与使用相关推荐

  1. SQLMAP插件tamper模块介绍

    今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLMAP插件tamper模块介绍. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强 ...

  2. sqlmap之tamper脚本编写

    目录 前言 tamper脚本实战 前言 sqlmap是一个自动化的SQL注入工具,而tamper则是对其进行扩展的一系列脚本,主要功能是对本来的payload进行特定的更改以绕过waf. 为了说明ta ...

  3. Sqlmap Tamper编写

    Sqlmap Tamper编写 Sqlmap Tamper是sqlmap可以调用的脚本,已进行对payload的修改,如:双写.替换空格.编码等. sqlmap可以使用--tamper调用,编写使用P ...

  4. 浅谈C#中一种类插件系统编写的简单方法(插件间、插件宿主间本身不需要通信)...

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 三年多前还在上研时,用C#+反射机制写过插件系统,后来又用M ...

  5. Jquery插件的编写和使用

    第七章 Jquery插件的编写和使用     插件的定义: 插件也称为扩展,是一种遵循一定规范的应用程序接口编写出来的程序. 下面是Jquery插件的编写很使用:要查看请点击:Jquery插件的编写很 ...

  6. SQLMap中tamper的简介

    目录结构 一.SQLMap中tamper的简介 1.tamper的作用 2.tamper用法 二.适配不同数据库类型的测试tamper 三.SQLMap中tamper篡改脚本的功能解释 一.SQLMa ...

  7. sqlmap之tamper脚本

    sqlmap之tamper脚本 进行注入时,往往会遇到服务端主机装有 WAF(Web Application Firewall)对 Payload 进行过滤的情况,这使得注入攻击无法成功实施.但 WA ...

  8. 【Gazebo入门教程】第六讲 控制器插件的编写与配置(下)

    [Gazebo入门教程]第六讲 控制器插件的编写与配置(下) \qquad 文章目录 [Gazebo入门教程]第六讲 控制器插件的编写与配置(下) 一.系统插件 二.Velodyne传感器插件 1. ...

  9. 【Gazebo入门教程】第五讲 控制器插件的编写与配置(上)

    [Gazebo入门教程]第五讲 控制器插件的编写与配置(上) 文章目录 [Gazebo入门教程]第五讲 控制器插件的编写与配置(上) 一.控制插件的使用方法 1. 插件简介 2. 插件编写流程 二.模 ...

最新文章

  1. mysql init file_mysql中参数--init-file的作用是什么呢?
  2. 超全机器学习术语词汇表
  3. 2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)
  4. 填充路径时使用的非零环绕规则
  5. boost::strict_lock相关的测试程序
  6. codeforces gym-101755 D-Transfer Window 二分图匹配、递归
  7. macos big sur正式版_苹果macOS Big Sur正式版发布
  8. 巧用.mdb后缀数据库做后门
  9. 网络爬虫中X-CSRF-Token和Status 403问题解决方案(Java或Python)
  10. wordpress插件翻译不生效_谷歌浏览器自带翻译功能如何设置?不喜欢用插件的快来看...
  11. Spoon新建repository的时候
  12. Atitit 如何在外包找到自己的技术深度
  13. 乐鑫Esp32学习之旅 20 一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
  14. AxureRP9(team版)安装+汉化+秘钥
  15. javascript入门到进阶 - js系列一:三种基本的数据结构
  16. ubuntu截图快捷方式
  17. WIN7系统的虚拟机C盘扩容步骤
  18. php站长统计,如何巧妙去除隐藏“站长统计”文字链接?
  19. Eclipse插件 JSDT
  20. Codeforces Round #807 (Div. 2)A~E个人题解

热门文章

  1. Linux提示 /usr/bin/ld:cannot find-lxxx 系列解决方法
  2. MySQL 是怎么加行级锁的?为什么一会是 next-key 锁,一会是间隙锁,一会又是记录锁?
  3. oracle里update+where,Oracle 关联表更新 update ,where exists
  4. 【技术详解】阿里云AIoT物模型支撑设备规模已超亿级
  5. 《楚门的世界》观后感
  6. ue4 后期处理景深_Unreal Engine4 后期处理特效 VOL1
  7. 鼠标上下滚轮不灵敏的修复方法
  8. python怎么实现模糊找色_Python下尝试实现图片的高斯模糊化
  9. css 弹性盒子 flex布局
  10. [最新] Android 代码规范大全(Android开发速看),2021年最新大厂Android面试笔试题目