宽字节注入
Posted cimuhuashuimu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宽字节注入相关的知识,希望对你有一定的参考价值。
原理
当数据库使用的编码为GBK时,0xbf27和0xbf5c都会被认为成一个双字节字符。
假如服务端使用addslashes()函数进行过滤用户输入的话,
?id=‘ and 1=1 将会变成 ?id=‘ and 1=1
由于为%27,那么如果在前面加上0xbf字符的话 ?id=0xbf‘ and 1=1
那么?id=0xbf‘ and 1=1也就是?id=0xbf27‘ and 1=1 就会变成
?id=? ‘ and 1=1
成功注入
补充:?id=1%df‘ union select 1,2,服务器将解释为select …. where id=1緷‘union select 1,2
出现这样的原因是服务端的设置:
SET NAMES ‘gbk‘
相当于
character_set_connection=‘gbk‘
character_set_results=‘gbk‘
character_set_client=‘gbk‘
漏洞挖掘关键字
SET NAMES
character_set_client=gbk
mysql_set_charset(‘gbk‘)
以上是关于宽字节注入的主要内容,如果未能解决你的问题,请参考以下文章