【漏洞挖掘】——117、宽字节注入深入刨析(宽字节绕过)

【漏洞挖掘】——117、宽字节注入深入刨析基本介绍
首先我们需要一起来了解一下什么是窄字节、宽字节、宽字节编码(英文默认占一个字节,汉字占两个字节): 窄字节:字符的大小为一个字节时,称其字符为窄字节宽字节:字符的大小为两个字节时,称其字

基本介绍

首先我们要一起了解一下什么是窄字节、宽字节、宽字节编码(英文字符默认占用1个字节,汉字默认占用2个字节)。

窄字节:如果一个字符的大小为1个字节,则称为窄字节。

宽字节:如果一个字符的大小为2个字节,则称为宽字节。

宽字节编码:GB2312、GBK、GB18030、BIG5、Shift_JIS等

宽字节注入主要是由于程序员将数据库编码和PHP编码设置为两种不同的编码格式引起的。例如,使用PHP连接MySQL时,很多人都会添加语句。

\’setcharacter_set_client=gbk\’

MySQL使用GBK编码时,将两个字符视为一个汉字。例如:%aa%5c就是一个汉字(前面的ASCII码必须大于128才能达到汉字范围)。想法是将\’ 转换为\\\’,你可以找到一种方法来删除\’ 之前添加的\\。总的来说,有两种想法:

%df吃掉\’\\\’:具体原因是urlencode(\’\\)=%5c%27。在%5c%27前添加%df,形成%df%5c%27,上面的mysql在GBK编码时会将这两个字节视为一个汉字。在本例中,%df%5c 是汉字字符,%27 是外部的另一个符号。这样还是达到了目的。

可以构造排除\\ in \\\’: %**%5c%5c%27的情况。这也是一种绕过转换为\’utf\’的方法。 – 16

#【漏洞挖掘】——117及以上对Wide Byte Injection的详细分析相关内容来源网,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92307.html

Like (0)
CSDN的头像CSDN
Previous 2024年6月26日
Next 2024年6月26日

相关推荐

发表回复

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