什么是宽字节
如果一个字符的大小是一个字节的,称为窄字节;如果一个字符的大小是两个字节的,成为宽字节
像GB2312、GBK、GB18030、BIG5、Shift_JIS等这些编码都是常说的宽字节,也就是只有两字节
英文默认占一个字节,中文占两个字节
数据库编码为GBK时,可以使用宽字节注入 宽字节格式是在地址后先加一个%df,再加单引号 因为反斜杠编码为%5c GBK中%df%5c是繁体字 连 所以这个时候成功逃逸 #%27是’的意思加’ 会变成 ‘\ 编码 %5c 前面加上一个%df 及变成 %df%5c 是繁体字连 即 1%df’ 会变成 1 %df%5c’ 单引号逃逸
此时多出一个 ’ 顾需要注释
及 id=1%df’%23 成功逃逸 完成闭合
接下来 使用 order by 5
union 跟union注入一样查询
http://127.0.0.1/4.3/kzj.php?id=-1%df’ union select 1,2,3,4,5%23
在 2,5处就可以查询数据库信息