sql 数据类型注入+tamper

2023-12-16 08:15

本文主要是介绍sql 数据类型注入+tamper,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数字型 0-9

查询语句:

$sql="select * from sy_guestbook where id=$i";

字符型 a-z 中文 标点符号 加入了单引号

查询语句:

$sql="select * from sy_guestbook where gTpl='$g'";
simple' order by 16--+select * from sy_guestbook where gTpl='simple' order by 16--+'


搜索型 在基础上又加入的通配符

查询语句:

$sql="select * from sy_guestbook where gName like '%s%
演示%' UNION+ALL+SELECT+1,datab,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and %'=select * from sy guestbook where gName like %演示%' UNION+ALL+SELECT+1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and '%'='%' 

编码型 数据以编码值传递

 查询语句:

$param = base64_decode($_GET['param']);$sql = "SELECT * FROM users WHERE id = '$param'"

加密型 数据以加密的密文去发送
 

格式型 JSON
数据进行编码接受处理:发送编码值,对方常会进行解码后带入数据在进行SQL执行在注入的时候,我们也要尝试对注入的Payload进行编码后提交

分为键名和键值,类似py的字典。

这个需要注意的就是单引号的闭合,双引号是不作为值传入到源码里面进行处理的,从源码里面我们也可以知道只需要闭合单引号即可,至于{}这个符号,是josn自带的,这个不用考虑。

 

总结:

(开发程序里面,数字不需要单引号,字符需要单引号 双引号去概括的
需要考虑到符号的闭合 才能正确去执行SQL 完成SQL注入)

我在本地尝试了编码型base64

?param=MQ==

tamper

因为进行了base64编码,sqlmap直接跑是跑不出的

因为我们人知道这是base64,但是他不知道

那么!!!

这个时候就可以用到!!!

tamper!!!

Sqlmap的脚本都在tamper目录下

sqlmap.py -u "http://localhost/?param=MQ==" --tamper=base64encode.py

好的已经见识到tamper的魅力了

这篇关于sql 数据类型注入+tamper的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499800

相关文章

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数