MySQL WHERE语句中,等号”=”通常作为判断的条件,然而这个等号却是弱类型的判断,如果忽略了这一点,很容易造成安全问题,以下我便整理一下我所知道的匪夷所思的“相等”.。

1.字符型和数字型

MySQL的等号同PHP一样,对等号两端不同的数据类型都有强制类型转换,如下

但是却没有PHP的弱类型判断

这个的应用范围很局限,但是又不得忽视,所以开发者在字段的数据类型的选择以及sql语句的构造方面,要多多注意,防止等号两边类型不相同导致的漏洞。

2.尾空格

MySQL等号对字符串尾部的空格做忽视的处理,所以我们可以构造一个’abc’=’abc   ’的效果,绕过某些特定串整体检查的WAF,不过相对来说,这个也比较鸡肋,因为很少有用字符串直接比对来过滤某些敏感串的。

这个可以直接用trim函数来避免

3.unicode字符集相似字符

其中有些相似字符,比如下面这个与a相似

这样会造成什么后果呢?

看到了吧,MySQL的等号认为这些相似字符也是相等的,这样的话,我们就可以完全绕过对敏感串的过滤,前提是在UTF8编码下。

4.新型万能密码

username='wupco'=''

这是有2个等号,然后计算顺序从左到右,

先计算username='wupco'

如果没有这个记录,则返回false

然后false=''

就成了true

所以这个就变成了where 1

达到了万能密码的效果

mysql的等号是什么意思_整理思维——等于等于等于?{MySQL条件等号的异常}相关推荐

  1. xamp已有mysql端口修改依然启动不_关于xampp启动不了mysql的解决方法

    今天在xampp-control中启动不了mysql,提示说mysql service没启动,一时还真不知道怎么回事,我是在360安全卫士提示我是否将mysql设置为系统服务时选择了"否&q ...

  2. mysql数据转存到时序数据库_干货丨如何高速迁移MySQL数据到时序数据库DolphinDB...

    DolphinDB提供了两种导入MySQL数据的方法:ODBC插件和MySQL插件.我们推荐使用MySQL插件导入MySQL数据,因为它的速度比ODBC导入更快,导入6.5G数据,MySQL插件的速度 ...

  3. mysql服务启动成功后卸载_安装,启动与卸载Mysql系统服务(MYSQL常见问题)

    将Mysql添加到Windows系统服务中: 1.. 安装服务. 在Windows2000下,安装完成后,并没有把MySQL安装成服务,我们必须执行下面的语句把MySQL注册为服务:installdi ...

  4. centos mysql 5.2.3 编译安装_在CentOS上编译安装MySQL 5.7.13步骤详解

    MySQL 5.7主要特性 更好的性能 对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的. 更好的InnoDB存 ...

  5. mysql性能功能是什么意思_究竟是什么影响了MySQL的性能

    1.影响数据库性能的几个方面 服务器硬件 服务器系统 数据库存储引擎的选择(MySQL的插件式存储引擎) MyISAM:不支持事务,表级锁. InnoDB:事务级存储引擎,完美支持行级锁,事务ACID ...

  6. mysql知识总结体会博客_可能是全网最好的MySQL重要知识点/面试题总结||CSDN博客精选...

    什么是MySQL?MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展.阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的.M ...

  7. mysql列名可以用中文吗_用了这么久的MySQL,你知道它的存储引擎吗?

    每天叫醒你的不是闹钟,而是梦想 1 MySQL数据库引擎简介 1.1 ISAM(Indexed Sequential Access Method) ISAM是一个定义明确且历经时间考验的数据表格管理方 ...

  8. mysql 联合索引的命中规则_可能是全网最好的MySQL重要知识点/面试题总结

    标题有点标题党的意思,看了文章之后希望大家不会有这个想法,绝对干货!!!这篇花文章是我花了几天时间对之前总结的MySQL知识点做了完善后的产物,这篇文章可以用来回顾MySQL基础知识以及备战MySQL ...

  9. mysql数据库怎么查看端口号_怎么查看数据库端口号(mysql怎么查看端口号)

    怎么查看数据库端口号(mysql怎么查看端口号) 2020-05-08 11:20:02 共9个回答 如何查看自己数据库的端口号 navicat,找到服务器,右键->连接属性,就找到端口号了 如 ...

最新文章

  1. 设计模式(二) 模板方法
  2. 属性篇(3)—If you love css …
  3. ubuntu安装gcc和g++
  4. 单机:Oracle单机数据库一键安装(11GR2/12C/18C/19C/21C)
  5. 双ip的oracle集群该怎么连接,如何配置电信联通双线双IP接入
  6. Java job interview:Linux操作系统的应用(红帽子)分析经验
  7. react全家桶介绍
  8. emlog mysql 设置_EMLOG模板自定义首页
  9. java中继承内部类的方法_Java自学-接口与继承 内部类
  10. [算法入门笔记] 18. 动态规划
  11. 数字图像处理--第六章彩色图像处理基础
  12. 百度地图整合离线和使用
  13. iOS 中将数据导出成Excel文件 ---- libxlsxwriter框架
  14. 简谈 Intel altera 和 Xilinx 的 FPGA 区别
  15. Unity 2D精灵分割图片注意事项
  16. jdbc+servlet+jsp来写个mysql分页案例
  17. PHP 环境搭建(win7+php5.6+apache或nginx)
  18. ERP术语解释及SAP模块介绍
  19. 【R】随机模拟计算定积分
  20. PTA第一章作业1--数据结构基本概念 顺序表基本操作

热门文章

  1. Windows隐藏账户处置
  2. css3怎么设置logo,纯CSS3实现的LOGO标志 ABN AMRO CSS3 logo
  3. android签名文件查看工具,ionic 发布android,并查看签名文件。
  4. C++ chrono 库中的 steady_clock 、 system_clock、high_resolution_clock区别
  5. XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,
  6. 定时创建oracle索引,oracle数据库关于索引建立及使用的详细介绍
  7. iconv android 编译,将iconv编译成lua接口
  8. JavaScript取出字符串中括号里的内容
  9. Koa nuxt最佳实践前篇
  10. Eclipse打包出错——提示GC overhead limit exceeded