首页 > 数据库 >mysql宽字节注入原理

mysql宽字节注入原理

时间:2024-04-04 09:44:06浏览次数:32  
标签:27 字节 df 汉字 5c% mysql 原理 5c

宽字节注入原理:

常见的宽字节:GB2312,GBK,GB18030,BIG5等这些都是常见的宽字节,实际为2字节。

如果使用了类似于 set names gbk 这样的语句,既MySQL 在使用 GBK 编码的时候,mysql 数据库就会将 Ascii 大于等于128(%df)的字符当作是汉字字符的一部分(当作汉字处理),同时会认为两个字节为一个汉字,例如 %aa%5c 就是一个 汉字。

这种情况下如果我们想去掉sql语句中的一个字节,那么我们在想去的字节前加上一个Ascii 大于等于128(%df)的字节就行了。自己加的字节和想去掉的那个字节会被合起来解析成为汉字。

本题宽字节注入利用:

因为过滤方法主要就是在敏感字符前面添加 反斜杠 \,所以这里想办法干掉反斜杠即可。具体利用的话我们可以用%df 吃掉 \(%5c)

因为urlencode(\') = %5c%27,如果我们在 %5c%27前面添加 %df,形 成%df%5c%27,MySQL 在 GBK 编码方式的时候会将两个字节当做一个汉字,这个时候就把 %df%5c当做是一个汉字,%27(单引号)则作为一个单独的符号在外面,同时也就达到了我们的目的。

payload:

?id=-2%ef'union%20select%201,2,group_concat(flag4s) from ctfshow.flags-- +
#此语句中使用了%ef绕过和%df同样原理,都可绕过添加斜杠的方法

 


如果可以构造 %5c%5c%27 的情况,后面的 %5c 会被前面的 %5c 给注释掉。这也是 bypass 的一种方法。可惜这题也过滤了反斜杠\(%5c)。

 

标签:27,字节,df,汉字,5c%,mysql,原理,5c
From: https://www.cnblogs.com/yeziwinone/p/18113928

相关文章

  • MySQL分组查询实例
    数据表创建DDL——学生表——成绩表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTN......
  • 搜索引擎-03-搜索引擎原理
    拓展阅读搜索引擎-01-概览搜索引擎-02-分词与全文索引搜索引擎-03-搜索引擎原理Crawlhtmlunit模拟浏览器动态js爬虫入门使用简介Crawljsoup爬虫使用jsoup无法抓取动态js生成的内容CrawlWebMagic爬虫入门使用简介webmagic全网搜索引擎架构与流程如何?全网搜索......
  • mysql操作
    mysql启动(停止):1、开始-右击-管理-服务和应用程序-服务-mysql名-右击-启动(停止)2、开始-命令提示符-右击-以管理员身份-netstart(stop)mysql名mysql服务端的登录和退出进入:1、开始-mysql-mysqlserver-mysqlCommandLineClient-输入root密码(不建议,只适用于root用户)2、通过Win......
  • 第十一章、MSTP 协议原理与配置
    1、单生成树的缺点:1、无法实现流量负载分担2、存在二层次优路径解决上述问题:部署MSTP,通过实例在不同的域中区分不同的生成树,各生成树之间计算相互独立2、Stp、Rstp、Mstp之间兼容:1、当RSTP或MSTP如果相连的交换机运行是STP,则RSTP或......
  • MySQL数据库 数据库基本操作(二):表的增删查改(上)
    1.CRUDCRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写,就是数据库基本操作中针对表的一系列操作.2.新增(create)-->insert语法:insertinto表名[列名1,列名2…]values(val1,val2…)[注意]列名可以没有,如果没有列名,所......
  • 注意力机制在自然语言处理中的原理与实践
    注意力机制在自然语言处理中的原理与实践作者:禅与计算机程序设计艺术1.背景介绍近年来,注意力机制在自然语言处理领域取得了巨大的成功,在机器翻译、文本摘要、对话系统等众多应用中发挥了关键作用。注意力机制通过学习输入序列中的重要位置和相关性,赋予不同的输入部分......
  • 图像分类模型AlexNet原理与实现
    图像分类模型AlexNet原理与实现作者:禅与计算机程序设计艺术1.背景介绍图像分类是计算机视觉领域的一个核心任务,其目标是将输入图像归类到预定义的类别中。随着深度学习技术的发展,基于卷积神经网络(ConvolutionalNeuralNetwork,CNN)的图像分类模型取得了突破性的进......
  • MySQL UPDATE JOIN 根据一张表或多表来更新另一张表的数据
    当使用MySQL时,经常需要根据一张表或多张表的数据来更新另一张表的数据。这种情况下,我们可以使用UPDATE语句结合JOIN操作来实现这一需求。本文将介绍MySQL中使用UPDATEJOIN的技术。什么是UPDATEJOINUPDATEJOIN是MySQL中一种结合UPDATE语句和JOIN操作的技术,用于根据一张表或多......
  • MySQL 入门教程
    创作目的以前在学习mysql的时候,经常东拼西凑的学习零碎的知识。完全无法形成完整的知识体系。这个属于mysql核心知识点的梳理,新人可以作为学习的参考,有经验的话也可以作为可查的资料宝典。mysqlinstallmysql安装教程参见以前的文章:MySQL5.6Install,WindowsM......
  • 关于openEuler系统的基本环境配置(包括nginx,mysql5.7和java1.8)
    关于openEuler系统的基本环境配置(包括nginx,mysql5.7和java1.8)观前BB:openEuler虽然是国产系统,但是本质还是centos的套壳系统,你可以通过(uname-a)命令得以观察出,而且系统更类似于centos8(这个还有待确认),这就导致了安装环境的时候经常会出现奇奇怪怪的错误(比如yum找不到源什么的),本......