注入绕过方法

目录

1.绕过 特定过滤

1.绕过空格过滤

2.绕过or,and等等过滤

3.绕过‌注释符过滤

4.绕过‌字段过滤

5. 单引号绕过‌

6. 逗号绕过‌

7. 等号与运算符绕过‌

2.绕过 过滤方法

‌1. 大小写统一过滤绕过‌

‌2. 递归替换规则绕过‌

‌3. 正则贪婪匹配绕过‌

‌4. 编码与语法变形绕过‌

‌5. 分隔符与函数绕过‌

常用绕过方法

方法

场景


1.绕过 特定过滤
1.绕过空格过滤

1‌.使用下面的URL编码‌替代:

%20(标准空格)‌、%09(Tab)‌、%0a(换行符)‌、%0d(回车符)‌、%a0(不可见空格)‌%0b、%0c(垂直Tab/换页符)‌

2.符号与语法替代‌

‌括号 ()‌:包裹字段或子查询,无需空格‌

反引号 `‌:MySQL中用于字段名包裹,可替代空格‌

加号 +‌:在特定数据库(如SQL Server)中替代空格‌

3.双空格与重复符号‌

双空格‌:部分过滤规则仅替换单空格,双空格可绕过‌

双斜杠 //‌:非标准方法,部分场景可解析为空格

4.注释符替代

MySQL内联注释

 /*!版本号\*/

标准注释符

 /**‌==/
union/==‌/select/‌==/1,2,3  

/**/ 直接替代空格,保持语句连贯性。

/**/ 被过滤时,可混合使用其他注释符。

/*!00000假注释*/ 表示版本号0.0.0(始终不执行),注释内容被忽略

组合使用‌:混合注释符与特殊字符(如 %0a、())提高绕过成功率。

2.绕过or,and等等过滤

1.符号替代法‌

‌原理‌:利用数据库支持的逻辑符号替代关键词。

|| 替代 OR‌(需数据库开启 PIPES_AS_CONCAT模式):

‌&& 替代 AND‌(MySQL默认支持):

^ 替代 XOR‌(位异或操作符,需结合条件判断):

‌! 或 <> 替代 NOT‌

‌适用场景‌:

数据库允许符号逻辑运算(如MySQL默认支持 &&、||)。

过滤规则未拦截符号(如 ||、^)。

‌2. 大小写混合

‌原理‌:绕过简单的大小写敏感过滤

适用场景‌:过滤规则未统一转为小写

3‌.双写关键词‌

‌原理‌:绕过单次关键词替换。

‌适用场景‌:仅替换一次关键词。

4.注释符分割关键词‌

‌原理‌:在关键词中插入注释符,绕过字符串匹配。

sqlCopy CodeSELECT * FROM users WHERE id=1 O/**/R 1=1;
SELECT * FROM users WHERE id=1 AN/*!50000D*/ username='admin';

‌适用场景‌:过滤规则未递归删除注释符。

‌4. 函数与数学运算替代‌

‌原理‌:利用函数或数学运算构造逻辑条件。

替代 XOR‌

sqlCopy Code-- 使用减法模拟异或(仅限0/1逻辑)
SELECT * FROM users WHERE (id=1) - (username='admin') = 1;

替代 NOT‌

SELECT * FROM users WHERE IF(username='admin', 0, 1);  -- NOT(username='admin')

替代 AND/OR‌

使用乘法模拟 AND(条件全为真时结果为1)
SELECT * FROM users WHERE (id=1) * (username='admin');使用加法模拟 OR(任一条件为真时结果>=1)
SELECT * FROM users WHERE (id=1) + (username='admin');

‌适用场景‌:需要构造复杂逻辑条件时(如盲注)。

5.编码与空白符混淆‌

‌原理‌:对关键词进行编码或插入不可见字符。

URL编码‌

O%52%20 → OR (需数据库自动解码)  

十六进制编码‌

SELECT * FROM users WHERE 0x4F52 1=1;  -- 0x4F52 为 "OR" 的十六进制

‌插入换行符/Tab‌

SELECT * FROM users WHERE id=1%0aAnD%091=1;

6.联合查询

在后面为查询语句时,如果and被过滤可以用union联合查询

3.绕过‌注释符过滤

‌场景‌:注释符(--、#、/**/)被过滤时,需重构注入逻辑。 方法‌:闭合引号+逻辑运算符‌:' or 1='1 替代注释符闭合‌

4.绕过‌字段过滤

1.大小写混合

‌原理‌:绕过简单的大小写敏感过滤

适用场景‌:过滤规则未统一转为小写

2.双写关键词‌

‌原理‌:绕过单次关键词替换。

‌适用场景‌:仅替换一次关键词。

3.混合大小写+双写绕过复合过滤‌

‌适用场景‌:需同时绕过关键词删除和大小写敏感过滤‌。

4.内联注释执行代码

‌场景‌:绕过对特定关键词(如 UNION、SELECT)的过滤,强制数据库执行内联注释中的语句‌。 ‌案例‌:

sqlCopy Codeid=1 /*!UNION*/ /*!SELECT*/ 1,2,3;  -- MySQL执行内联注释中的代码  
id=1 /*!50000UNION SELECT*/ 1,2,3; -- 指定版本号(仅MySQL 5.0.0+执行)  

‌原理‌:MySQL支持内联注释中的语法执行,其他数据库忽略‌38。

5.注释符干扰过滤规则

‌场景‌:将敏感关键词拆分到注释符两侧,绕过正则匹配‌16。 ‌案例‌:

SEL/*中间干扰*/ECT * FROM users;    -- 拆分SELECT为 SEL/*...*/ECT  
UNI/==&zwnj;**/ON SEL/**&zwnj;==/ECT 1,2,3;        -- 分散关键词躲避过滤 

‌原理‌:过滤规则未递归处理注释符时,注释符可隐藏关键词‌

6.‌反引号包裹‌

selectusernamefromusers(干扰关键词匹配)‌

5. 单引号绕过‌

‌场景‌:当单引号(')被过滤时,需闭合引号或避免直接使用。

方法‌:

宽字节注入‌:

‌字符集差异‌:宽字节编码(如GBK、GB2312)使用双字节表示一个字符,而单字节编码(如ASCII)仅用单字节‌。当程序未正确处理字符集转换时,攻击者可通过构造%df%5c%5c为反斜杠\)等组合,使系统误判为一个完整字符,从而绕过转义机制‌。转义逻辑绕过‌:若程序使用addslashes或魔术引号对单引号转义(如'\'),攻击者可输入%df',触发字符集转换后变为%df%5c%27,导致反斜杠被“吞并”,单引号逃逸并引发SQL注入‌。

注释符闭合‌:用 --+ 或 # 截断后续语句(如 id=1' --+)‌。

十六进制编码‌:将字符串转为十六进制(如 'admin' → 0x61646D696E)‌。

6. 逗号绕过‌

‌场景‌:逗号(,)被过滤时,需重构语法。

方法‌:

‌JOIN语句‌:JOIN用于关联多个表中的数据,用 join 替代逗号(如 union select * from (select 1)a join (select 2)b)‌。

FROM FOR语法‌:‌一种替代语法,substr(str from 1 for 1) 替代 substr(str,1,1)‌。

LIMIT OFFSET‌:跳过x行,取y行,limit y offset x 替代从第 x 行开始,返回 y 行 limit x,y。

7. 等号与运算符绕过‌

‌场景‌:=、<、> 被过滤时,需使用替代逻辑。

方法‌:

LIKE子句‌:where username like 'a%' 替代 = 'a'‌。

BETWEEN‌:id between 1 and 3 替代 id >=1 and id <=。

位运算‌:1 ^ (ascii(substr(user(),1,1)) > 97)(盲注时替代比较符)‌

2.绕过 过滤方法
‌1. 大小写统一过滤绕过‌

特殊字符插入法‌:在关键词中插入非字母字符(如数字、符号),例如 SEL%311ECT%31为十六进制“1”),干扰小写转换逻辑‌。

‌全角字符混淆‌:使用全角字母(如 SELECT)绕过小写转换,依赖数据库对Unicode字符的兼容性‌。

‌2. 递归替换规则绕过‌

双写嵌套绕过‌:若递归次数有限(如仅替换2次),构造 UNIunionunionON → 替换后变为 UNION‌。

动态生成关键词‌:利用过滤规则生成目标字段(如输入 UNI<过滤后生成ON> → 组合为 UNION),需探测递归逻辑‌。

‌3. 正则贪婪匹配绕过‌

注释符分割‌:在关键词中插入注释符(如 SEL/!/ECT),破坏正则的连续匹配逻辑‌。

换行符干扰‌:使用 %0a或 %0d分割字段(如 SEL%0aECT),绕过单行匹配规则‌。

‌4. 编码与语法变形绕过‌

‌多层编码混淆‌:组合URL编码、十六进制和Unicode编码(如 %55%4E%49%4F%4E → UNION),测试过滤层的解码顺序‌。

隐式语法替代‌:使用 BETWEEN 1 AND 3替代 >= 和 <=。

‌5. 分隔符与函数绕过‌

‌场景‌:逗号(,)被过滤时,需重构语法。

JOIN语句‌:用 join 替代逗号(如 union select * from (select 1)a join (select 2)b)‌。

FROM FOR语法‌:substr(str from 1 for 1) 替代 substr(str,1,1)‌。

LIMIT OFFSET‌:limit 1 offset 1 替代 limit 1,1‌。

函数变形‌:用 MID(username ,1 , 1)替代 SUBSTR(username,1,1)`。

常用绕过方法
方法

双写与大小写

场景

‌1. XSS攻击场景‌

‌案例1:双写绕过标签过滤‌

‌攻击方式‌

<sc<script>ript>alert(1)</script>  

绕过原理‌:过滤规则删除

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARMv8.x-M架构计算能力概览

1.ARMv8.xM架构提供了哪些计算能力&#xff1f; ARMv7-M时代&#xff0c;Cortex-M系列CPU以提供通用计算能力为主。ARMv8-M架构提供了更加多样的计算能力。 首先&#xff0c;提供Thumb2指令集提供整数通用计算能力。 其次&#xff0c;ARMv8.x-M架构手册明确列出了更多可选的CPU…

20. Excel 自动化:Excel 对象模型

一 Excel 对象模型是什么 Excel对象模型是Excel图形用户界面的层次结构表示&#xff0c;它允许开发者通过编程来操作Excel的各种组件&#xff0c;如工作簿、工作表、单元格等。 xlwings 是一个Python库&#xff0c;它允许Python脚本与Excel进行交互。与一些其他Python库&#x…

大模型GGUF和LLaMA的区别

GGUF&#xff08;Gigabyte-Graded Unified Format&#xff09;和LLaMA&#xff08;Large Language Model Meta AI&#xff09;是两个不同层面的概念&#xff0c;分别属于大模型技术栈中的不同环节。它们的核心区别在于定位和功能&#xff1a; 1. LLaMA&#xff08;Meta的大语言…

一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们来新建一个的蓝图模块-班级模块&#xff0c;后面可以和学生模块&#xff0c;实现一对多的数据库操作。 blueprint下新建g…

STM32学习【5】用按键控制LED亮灭(寄存器)以及对位运算的思考

目录 1. 看原理图2 使能GPIOAGPIOA时钟模块2.2 设置引脚GPIO输入2.3 读取引脚值 3. 关于寄存器操作的思考 写在前面 注意&#xff0c;这篇文章虽然说是用按键控制led亮灭&#xff0c;重点不在代码&#xff0c;而是关键核心的描述。 用寄存器的方式&#xff0c;通过key来控制led…

js,html,css,vuejs手搓级联单选

<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>级联选择器</title><script src"h…

【Spring】第四弹:基于XML文件注入Bean对象

一、setter 注入Bean对象 1.创建Student对象 public class Student {private Integer id;private String name;private Integer age;private String sex;public Student() {}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String …

DeepSeek私有化部署与安装浏览器插件内网穿透远程访问实战

文章目录 前言1. 本地部署OllamaDeepSeek2. Page Assist浏览器插件安装与配置3. 简单使用演示4. 远程调用大模型5. 安装内网穿透6. 配置固定公网地址 前言 最近&#xff0c;国产AI大模型Deepseek成了网红爆款&#xff0c;大家纷纷想体验它的魅力。但随着热度的攀升&#xff0c…

单目3d detection算法记录

1、centernet object as points 这篇文章的核心单目3d检测主要是利用中心点直接回归出3d模型的所有属性&#xff0c;head共享整个backbone&#xff0c;其中3d属性包括&#xff1a;2d目标中心点、2dw和h、2d offsets、3doffsets、3d dimmession、rot还有depth。 其中对应的dep…

MySQL程序

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. mysqld (MySQL服务器) mysqld也被称为MySQL服务器&#xff0c;是⼀个多线程程序&#xff0c;对数据⽬录进⾏访问管理(包含数据库…

rust学习笔记17-异常处理

今天聊聊rust中异常错误处理 1. 基础类型&#xff1a;Result 和 Option&#xff0c;之前判断空指针就用到过 Option<T> 用途&#xff1a;表示值可能存在&#xff08;Some(T)&#xff09;或不存在&#xff08;None&#xff09;&#xff0c;适用于无需错误信息的场景。 f…

IIS 服务器日志和性能监控

Internet Information Services &#xff08;IIS&#xff09; 是 Microsoft 提供的一款功能强大、灵活且可扩展的 Web 服务器&#xff0c;用于托管网站、服务和应用程序。IIS 支持 HTTP、HTTPS、FTP、SMTP 和更多用于提供网页的协议&#xff0c;因此广泛用于企业环境。 IIS 的…

基于Netty实现高性能HTTP反向代理

以下将分步骤实现一个基于Netty的高性能HTTP反向代理&#xff0c;支持动态路由、负载均衡和基础鉴权功能。 1. 项目依赖配置&#xff08;Maven&#xff09; 2. 定义路由规则 3. 实现HTTP反向代理服务端 4. 实现反向代理处理器 5. 实现基础鉴权 6. 性能优化策略 连接池管理…

Feedback-Guided Autonomous Driving

Feedback-Guided Autonomous Driving idea 问题设定&#xff1a;基于 CARLA 的目标驱动导航任务&#xff0c;通过知识蒸馏&#xff0c;利用特权智能体的丰富监督信息训练学生传感器运动策略函数 基于 LLM 的端到端驱动模型&#xff1a;采用 LLaVA 架构并添加航点预测头&#…

OpenCV基础【图像和视频的加载与显示】

目录 一.创建一个窗口&#xff0c;显示图片 二.显示摄像头/多媒体文件 三.把摄像头录取到的视频存储在本地 四.鼠标回调事件 五.TrackBar滑动条 一.创建一个窗口&#xff0c;显示图片 import cv2img_path "src/fengjing.jpg" # 自己的图片路径 img cv2.imre…

springboot实现调用百度ocr实现身份识别

一、技术选型 OCR服务&#xff1a;推荐使用百度AI 二、实现 1.注册一个服务 百度智能云控制台https://console.bce.baidu.com/ai-engine/ocr/overview/index?_1742309417611 填写完之后可以获取到app-id、apiKey、SecretKey这三个后面文件配置会用到 2、导入依赖 <!-- …

Linux--内核进程O(1)调度队列

⼀个CPU拥有⼀个runqueue 如果有多个CPU就要考虑进程个数的负载均衡问题 优先级 普通优先级&#xff1a;100〜139&#xff08;我们都是普通的优先级&#xff0c;想想nice值的取值范围&#xff0c;可与之对应&#xff01;&#xff09;实时优先级&#xff1a;0〜99&#xff08…

1.排序算法(学习自用)

1.冒泡排序 算法步骤 相邻的元素之间对比&#xff0c;每次早出最大值或最小值放到最后或前面&#xff0c;所以形象的称为冒泡。 特点 n个数排序则进行n轮&#xff0c;每轮比较n-i次。所以时间复杂度为O(n^2)&#xff0c;空间复杂度为O(1)&#xff0c;该排序算法稳定。 代码…

DiskGenius 硬盘管理工具下载+D盘空间扩容给C盘教程

目录 D盘空间扩容给C盘教程 1、打开DiskGenius软件​编辑 2、右键D盘&#xff08;或需要压缩的磁盘&#xff09;-->调整分区大小 3、调整分区容量 4、点击是/确定后&#xff0c;等待几分钟电脑自行操作&#xff0c;重启后硬盘就重新分好了 5、展示效果 DiskGenius – …

[项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信

基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信 一.Si24Ri原理图二.Si24R1芯片手册解读三.驱动函数讲解五.移植2.4g通讯&#xff08;飞控部分&#xff09;六.移植2.4g通讯&#xff08;遥控部分&#xff09;七.通讯模块的完成&#xff08;遥控部分&#xff09; 一.Si24Ri原理图 S…