注入绕过方法

news2025/3/19 13:45:53

目录

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.coloradmin.cn/o/2317822.html

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

相关文章

kafka指北

为自己总结一下kafka指北&#xff0c;会持续更新。创作不易&#xff0c;转载请注明出处。 目录 集群controller选举过程broker启动流程 主题创建副本分布ISRleader副本选举机制LEO 生产数据流程同步发送和异步发送 分区策略ack应答生产者发送消息的幂等性跨分区幂等性问题&…

7、vue3做了什么

大佬认为有何优点&#xff1a; 组合式api----逻辑集中、对ts有更好的支持RFC–开放了一个讨论机制&#xff0c;可以看到每一个api的提案&#xff0c;方便源码维护&#xff0c;功能扩展&#xff0c;大家一起讨论 官方rfc响应式独立&#xff0c;new Proxy&#xff0c;天生自带来…

基于大语言模型与知识图谱的智能论文生成工具开发构想

基于大语言模型与知识图谱的智能论文生成工具开发构想 一、研究背景与意义 1.1 学术写作现状分析 #mermaid-svg-FNVHG5EiEgVSCpHK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FNVHG5EiEgVSCpHK .error-icon{fil…

JUC大揭秘:从ConcurrentHashMap到线程池,玩转Java并发编程!

目录 JUC实现类 ConcurrentHashMap 回顾HashMap ConcurrentHashMap CopyOnWriteArrayList 回顾ArrayList CopyOnWriteArrayList: CopyOnWriteArraySet 辅助类 CountDownLatch 线程池 线程池 线程池优点 ThreadPoolExecutor 构造器各个参数含义&#xff1a; 线程…

4.3--入门知识扫盲,IPv4的头部报文解析,数据报分片,地址分类(包你看一遍全部记住)

IPv4协议&#xff1a;网络世界的快递包裹指南&#xff08;附拆箱说明书&#xff09; “IPv4就像一张明信片&#xff0c;既要写清楚地址&#xff0c;又要控制大小别超重” —— 某网络工程师的桌面铭牌 一、IPv4报头&#xff1a;快递面单的终极艺术 1.1 报头结构图&#xff08;…

苍穹外卖-阿里云OSS使用

第一步&#xff1a; package com.sky.properties;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix "sky.alioss") …

Vue生命周期_Vue生命周期钩子

一、生命周期介绍 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xff0c;挂载实例到 DOM&#xff0c;以及在数据改变时更新 DOM。 在此过程中&#xff0c;它也会运行被称为生命周期钩子的函数&#xff0c;让…

数据库设计实验(4)—— 数据更新实验

一、目的与要求 掌握用SQL语句实现数据的插入、修改和删除。 二、实验准备 1. 建立一个商店的数据库store&#xff0c;记录顾客及其购物情况&#xff0c;由下面三个表组成&#xff1a; 商品&#xff08;商品号&#xff0c;商品名&#xff0c;单价&#xff0c;商品类别&#x…

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler&#xff08;海豚调度&#xff09;是一个分布式易扩展的可视化工作流任务调度开源系统&#xff0c;适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…

再学:call与delegatecall、call转账 Bank合约

目录 1.call与delegatecall 2.transfer && call 3.若想内部传递abi编码 4.Bank合约 1.call与delegatecall call&#xff1a;切换上下文 delegatecall&#xff1a;不切换上下文 delegatecall可以理解为 A在调用B这个集成在A的方法 可升级合约&#xff0c;常用del…

关于解决新版本spring项目请求测试接口返回406的问题

目录 一、问题产生 二、问题排查 &#xff08;1&#xff09;首先是打断点debug进行排查 &#xff08;2&#xff09;网上查找相关资料排查 &#xff08;3&#xff09;老项目测试 三、问题解决 一、问题产生 使用Apifox对后端发送请求进行接口测试时返回状态码406&#xff0…

linux入侵排查_应急响应

1.实验目标 掌握linux系统中信息收集的方法 掌握linux系统中持久化操作方法及排查方式 掌握linux系统入侵排查思路 2.实验步骤 1.统计攻击者爆破次数 2.排查攻击者第一次使用恶意用户登录的时间 3.检查sudoer文件 4.排查计划任务 5.排查计划任务 6.排查恶意服务 7.排查…

AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?

hi&#xff0c;大家&#xff0c;继上次体验完可灵、即梦和pixverse&#xff0c;今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品&#xff01;欢迎加入讨论&#xff01; 一、产品简介 1. Vidu&#xff1a;国产自研的「一致性标杆」 &#x1f4cc;官网…

R语言高效数据处理-自定义格式EXCEL数据输出

注&#xff1a;以下代码均为实际数据处理中的笔记摘录&#xff0c;所以很零散&#xff0c; 将就看吧&#xff0c;这一篇只是代表着我还在&#xff0c;所以可能用处不大&#xff0c;这一段时间都很煎熬&#xff01; 在实际数据处理中为了提升效率&#xff0c;将Excel报表交付给…

基于srpingboot高校智慧校园教学管理服务平台的设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐

【小白向】Word&#xff5c;Word怎么给公式标号、调整公式字体和花括号对齐 我的版本&#xff1a;Word 2021 如需快速查看关键步骤&#xff0c;请直接阅读标红部分。 如果遇到无法调整的情况&#xff0c;可以直接下载我的示例文档进行参考&#xff1a;花括号和其他的示例公式.…

js逆向-下载某音乐

首先点击播放音乐&#xff0c;会拿到这样一个数据包 ​ 查看参数两个参数都是加密的 ​ 返回包里面有一个url&#xff0c;url拿到访问发现就是音频链接 ​ 访问直接下载下来 ​ 要逆向这两个参数采用xhr断点 ​ 这里加上路径的一部分 ​ 发现这些参数都是加密的 ​ 往下跟栈&am…

百度OCR调用记录

根据说明&#xff0c;调用测试 设置注册的API Key和Secret Key 调用类&#xff08;官方文档中有&#xff09; 这里改传入路径&#xff1b; 测试问题 1.{"error_code":110,"error_msg":"Access token invalid or no longer valid"} 查到说是 …

项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>

MCUBoot项目创建完成后,接下来我们需要搭建多节点OTA系统最小框架,再将系统分模块搭建逐层完善,直到实现最终完整系统。开始动手干吧! 目录 一、创建项目 ​二、配置FSP ​2.1 配置RS485属性 ​2.2 配置定时器0 2.3 创建初始化进程并配置属性 ​2.4 创建RS485进程并…

C/C++模版初阶

文章目录 C/C模版初阶泛型编程函数模版函数模版概念函数模版格式函数模版的原理函数模版的实例化模版参数的匹配原则 类模版类模版的定义格式类模版的实例化 结语 我们今天又见面了&#xff0c;给生活加点<font colorred>impetus&#xff01;&#xff01;开启今天的编程之…