返回顶部
首页 > 资讯 > 数据库 >MySQL长字符截断如何实现
  • 529
分享到

MySQL长字符截断如何实现

2023-07-05 16:07:26 529人浏览 薄情痞子
摘要

本篇内容主要讲解“MySQL长字符截断如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql长字符截断如何实现”吧!mysql超长字符截断又名"sql-Column-Trun

本篇内容主要讲解“MySQL长字符截断如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Mysql长字符截断如何实现”吧!

mysql超长字符截断又名"sql-Column-Truncation",是安全研究者Stefan Esser在2008 年8月提出的。

在MySQL中的一个设置里有一个sql_mode选项,当sql_mode设置为default时,即没有开启STRICT_ALL_TABLES选项时(MySQLsql_mode默认即default),MySQL对插入超长的值只会提示warning,而不是error,这样就可能会导致一些截断问题。

新建一张表测试,表结构如下(MySQL5.1):

CREATE TABLE USERS(id int(11) NOT NULL, //长度为7username varchar(7)NOT NULL,passWord varchar(12)NOT NULL , )

分别插入以下SQL语句(注入提示消息)。

①插入正常的SQL语句。

mysql> insert into users(id,username,password)values(1,'admin','admin');//成功插入,无警告,无错误 Query OK,1 row affected(0.00 sec)

②插入错误的SQL语句,此时的"admin "右面有三个空格,长度为8,已经超过了原有的规定长度。

mysql> insert into users(id,username,password)values(2,'admin       ','admin');//成功插入,一个警告Query OK,1 row affected,1 warning(0.00 sec)

③插入错误的SQL语句,长度已经超过原有的规定长度。

mysql> insert into users(id,username,password) values(3,'admin    x','admin');//成功插入,一个警告Query OK,1 row affected,1 warning(0.00 sec)

MySQL提示三条语句都已经插入到数据库,只不过后面两条语句产生了警告。那么最终有没有插入到数据库呢?执行SQL语句查看一下就知道了。

mysql> select username from users;

可以看到,三条数据都被插入到数据库,但值发生了变化,此时在通过length来取得长度,判断值的长度。

mysql> select length(username)from users where id =1 ;

可以发现,第二条与第三条数据的长度为7,也就是列的规定长度,由此可知,在默认情况下,如果数据超出列默认长度,MySQL会将其截断。

但这样何来攻击一说呢?

面查询用户名为'admin'的用户就知道了。

mysql> select username from users where username='admin';

只查询用户名为admin的用户,但是另外两个长度不一致的admin用户也被查询出,这样就会造成一些安全问题,比如,有一处管理员登录是这样判断的,语句如下:

$sql = "select count(*) from users where username='admin' and password='*******;

假设这条SQL语句没有任何注入漏洞,攻击者也可能登录到管理页面。假设管理员登录的用户名为 admin,那么攻击者仅需要注册一个"admin”用户即可轻易进入后台管理页面,像著名的WordPress就被这样的方式攻击过。

到此,相信大家对“MySQL长字符截断如何实现”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL长字符截断如何实现

本文链接: https://lsjlt.com/news/353306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL长字符截断如何实现
    本篇内容主要讲解“MySQL长字符截断如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL长字符截断如何实现”吧!MySQL超长字符截断又名"SQL-Column-Trun...
    99+
    2023-07-05
  • MySQL长字符截断的实现示例
    mysql超长字符截断又名"SQL-Column-Truncation",是安全研究者Stefan Esser在2008 年8月提出的。 在MySQL中的一个设置里有一个sql_mode选项,当sql...
    99+
    2023-03-24
    MySQL长字符截断 MySQL 字符截断
  • mysql如何截取字符串编码长度
    在MySQL中,可以使用LENGTH函数来获取字符串的编码长度。该函数返回一个字符串的字节数。下面是一个使用LENGTH函数截取字符...
    99+
    2023-08-31
    mysql
  • Shell字符串截取如何实现
    这篇文章主要讲解了“Shell字符串截取如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell字符串截取如何实现”吧!Shell 截取字符串通常有两种方式:从指定位置开始截取和从指...
    99+
    2023-06-09
  • Java如何实现截取字符串
    文章目录 0 写在前面1 .substring()2 split()+正则表达式3 StringUtils.substring()4 写在最后 0 写在前面 在实际工作...
    99+
    2023-09-11
    java 正则表达式 开发语言
  • CSS中怎么用省略号截断长字符串
    这篇文章给大家分享的是有关CSS中怎么用省略号截断长字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 答:使用CSS文本溢出属性 您可以将CSStext-overflow...
    99+
    2024-04-02
  • mysql如何利用函数实现字符串截取?
    首先我们需要了解字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), subst ...
    99+
    2024-04-02
  • 批处理如何判断字符串长度
    这篇文章主要介绍了批处理如何判断字符串长度,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。习题1.1 字符串长度不超过80。不含特殊字符 例 i like the bathom...
    99+
    2023-06-08
  • mysql如何查询字符长度
    这篇文章将为大家详细讲解有关mysql如何查询字符长度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 方法:1、利用length()函数查询,...
    99+
    2024-04-02
  • MySQL如何显示字符长度
    这篇文章将为大家详细讲解有关MySQL如何显示字符长度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字符长度命令:select char_length('andy...
    99+
    2024-04-02
  • php如何实现中文字符串截取
    这篇文章主要讲解了“php如何实现中文字符串截取”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现中文字符串截取”吧!在php中,可以利用mb_substr()函数来截取...
    99+
    2023-06-20
  • mysql函数之截取字符串的实现
    目录一、mysql截取字符串函数二、mysql截取字符串的一些栗子mysql索引从1开始 一、mysql截取字符串函数 1、left(str,length) 从左边截取length 2、right(s...
    99+
    2022-08-14
    mysql截取字符串
  • 怎么用css截取字符实现文字自动截断隐藏溢出文本
    这篇文章主要讲解了“怎么用css截取字符实现文字自动截断隐藏溢出文本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用css截取字符实现文字自动截断隐藏溢...
    99+
    2024-04-02
  • JavaScript如何实现数组截断
    这篇文章给大家分享的是有关JavaScript如何实现数组截断的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数组截断这个小技巧主要用来锁定数组的大小,如果用于删除数组中的一些元素来说,是非常有用的。例如,你的数组...
    99+
    2023-06-27
  • mysql如何截取字符串前几位
    本篇内容主要讲解“mysql如何截取字符串前几位”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何截取字符串前几位”吧! ...
    99+
    2024-04-02
  • mysql如何从左边截取字符串
    在MySQL中,可以使用SUBSTRING函数来从左边截取字符串。SUBSTRING函数有两种不同的语法形式: SUBSTRIN...
    99+
    2024-02-29
    mysql
  • css中怎么实现字符串截断并加省略号
    本篇文章给大家分享的是有关css中怎么实现字符串截断并加省略号,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。<html> <...
    99+
    2024-04-02
  • 如何使用css自动截取指定长度字符串
    这篇文章主要介绍了如何使用css自动截取指定长度字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<style type="text/css"&g...
    99+
    2023-06-08
  • oracle怎么实现按字符截取字符串
    在Oracle中,可以使用SUBSTR函数来实现按字符截取字符串。SUBSTR函数的语法如下: SUBSTR(string,...
    99+
    2024-05-21
    oracle
  • MySQL实现字符串截取的图文教程
    目录前言接下来我们就以第二种方式为列进行总结附:mysql相关字符串截取的函数详解总结 前言 在后端开发过程中与数据库打交道乃是家常便饭,有时候会遇到只要数据库中的某条数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作