绕过过滤 and 和 or 的 SQL注入

一、基础知识介绍

在深入了解SQL注入等数据库安全话题之前,掌握一些MySQL数据库的基础知识是很重要的。以下是关于MySQL中一些核心概念和特性的简介:

1.1 MySQL中的大小写不敏感

MySQL对于SQL语句中的关键字(如SELECT, INSERT, DELETE等)是大小写不敏感的,这意味着你可以使用大写、小写或者两者的混合来编写你的SQL语句。例如,SELECT * FROM users;select * from users;在MySQL中是等效的。

然而,需要注意的是,这个规则不一定适用于所有情况。例如,在Unix/Linux系统上,数据库名称和表名称是区分大小写的,而在Windows系统上则不是。此外,SQL查询中涉及到的数据(比如字符串条件)通常是大小写敏感的。

1.2 MySQL中的十六进制与URL编码

  • 十六进制表示法:MySQL支持使用十六进制值来表示字符串。这在处理二进制数据或者绕过某些类型的输入验证时可能会用到。例如,字符串'admin'可以用十六进制'0x61646d696e'来表示。

  • URL编码:URL编码(百分号编码)是一种编码机制,用于在URI中嵌入特殊字符。虽然这主要是Web开发的概念,但在构造SQL注入攻击时,攻击者可能会利用URL编码来绕过前端的输入过滤。例如,空格可以被编码为%20或加号+

你可能感兴趣的:(Web安全渗透,sql,数据库)