首页 > 数据库 >【1.0版】【MYSQL安全】sql注入系列:宽字节注入

【1.0版】【MYSQL安全】sql注入系列:宽字节注入

时间:2024-08-11 21:28:57浏览次数:15  
标签:27 字节 sql 汉字 5c% MYSQL df% 5c 注入

主题

sql注入系列:宽字节注入

原理

mysql 在使用 GBK 编码的时候, 会认为两个字符为一个汉字, 例如%aa%5c 就是一个汉字(前一个 ascii 码大于 128 才能到汉字的范围) 。

我们在过滤 的时候, 往往利用的思路是将 转换为 \’

因此我们在此想办法将 前面添加的 \ 除掉, 一般有两种思路:

1、 %df 吃掉 \ 具体的原因是 urlencode(\') = %5c%27, 我们在%5c%27 前面添加%df, 形成%df%5c%27, 而上面提到的 mysql 在 GBK 编码方式的时候会将两个字节当做一个汉字。
此时%df%5c 就是一个汉字, %27 则作为一个单独的符号在外面,同时也就进行了闭合。

2、 将 \' 中的 \ 过滤掉, 例如可以构造 %**%5c%5c%27 的情况, 后面的%5c 会被前面的%5c给注释掉。
这也是 bypass 的一种方法。

%df%27 浏览器url自动解码⏩ β\' 转为16进制⏩ 0xdf0x5c0x27 转换为url编码⏩ %df%5c%27 进行url解码(因为是GBK编码,%df%5c结合为汉字)⏩ 運'

我们以墨者学院靶场为例

由于'会被转码为\' 放到数据库 %27\会被转换 而'会留下 编程了 '-1運' 造成闭合之后我们就可以执行命令,而且在要注意一个点就是table_name这里的单引号也会被转义,于是我们直接给他转成16进制,数据库会自动给我们将16进制转换为字符串

得到最终结果

https://mp.weixin.qq.com/s/tAG-r-zpdY8F-7gikTYNFQ

标签:27,字节,sql,汉字,5c%,MYSQL,df%,5c,注入
From: https://www.cnblogs.com/o-O-oO/p/18353582

相关文章

  • 【1.0版】【MYSQL安全】SQL注入:DNSlog外带盲注回显
    主题SQL注入:DNSlog外带盲注回显利用条件DBMS中需要有可用的,能直接或间接引发DNS解析过程的子程序,即使用到UNCLinux没有UNC路径,所以当处于Linux系统时,不能使用该方式获取数据有个重要条件:load_file()函数可以使用。也就是说需要配置文件my.ini中secure_file_priv=UNCU......
  • 【1.0版】【MYSQL安全】sql注入系列:堆叠注入
    主题sql注入系列:堆叠注入原理mysql数据库sql语句的默认结束符是以;结尾,在执行多条SQL语句时就要使用结束符隔开,那么在;结束一条sql语句后继续构造下一条语句,是否会一起执行我们发现确实同时执行了,那么在实际中我们引号闭合之后也有可能可以进行堆叠注入,但是堆叠注入和开......
  • 【1.0版】【MYSQL安全】导入导出相关操作
    主题导入导出相关操作一、load_file()二、intooutfile一、load_file()load_file(file_name):读取文件并返回该文件的内容作为一个字符串使用条件:A、必须有权限读取并且文件必须完全可读and(selectcount()frommysql.user)>0#如果结果返回正常,说明具有读写......
  • mysql 相关
    1.mysql索引1.1mysql为什么使用b+树做索引mysql的索引主要有hash索引以及B+树索引对于索引,一般就是为了加快数据访问而存在的,所以索引要求的就是效率而mysql索引数据一般是存储在磁盘的,磁盘与内存的交互存在IO,而IO是硬件问题,没法解决,剩下的能解决的也就是IO次数以及......
  • 最全MySQL面试20题和答案(三)
    视图1.为什么要使用视图?什么是视图?为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。......
  • mysql数据库:DCL:管理用户,授权
    mysql数据库:DCL:管理用户,授权管理用户添加用户关闭密码复杂验证setglobalvalidate_password_policy=0;setglobalvalidate_password_length=1;语法CREATEUSER'用户名'@'主机名'IDENTIFIEDBY'密码';例子CREATEUSER'zhangsan'@'localhost&#......
  • mysql数据库:多表查询
    mysql数据库:多表查询准备sql--创建部门表CREATETABLEdept(idINTPRIMARYKEYauto_increment,NAMEVARCHAR(20));--插入数据INSERTINTOdept(NAME)VALUES('开发部'),('市场部'),('财务部');--创建员工表CREATETABLEemp(idINTPRIMARYK......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......
  • Chapter 32 MySQL入门
    欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!文章目录前言一、SQL语言二、数据库三、MySQL的安装四、图形化工具DBeaver前言随着数据量的急剧增长,数据库管理系统在现代软件开发中扮演着至关重要的角色。MySQL作为一种流行的开源数据库,以其高......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......