宽字符注入

mysql编码知识:http://blog.csdn.net/fdipzone/article/details/18180325

http://localhost/index.php?id=%df

脚本: 

输出: 

$_GET[‘id’]已进行url解码。然后strlen()计算字节长度,结果是1字节。其转换为ascii码后是233。

下面是没有直接拿原始请求参数$_SERVER[‘QUERY_STRING’],然后手动url解码。

脚本:

输出:

参数为:id=%df’

转义之后的参数的16进制是:0xdf 0x5c 0x27分别对应 %df    ‘

GBK编码方式:GBK 采用双字节表示,总体编码范围为 8140-FEFE 之间,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 XX7F 一条线。

0xdf 0x5c 这俩字节符合GBK 汉字编码规则,组合成汉字 “運” 。0x5c 被吃掉了。

最终变成 運’。

原文地址:https://www.cnblogs.com/natian-ws/p/7202785.html