欢迎投稿

今日深度:

浅析白盒审计中的字符编码及SQL注入(1)(2)

0×02 GB2312与GBK的不同

曾经有一个问题一直困扰我很久。

gb2312和gbk应该都是宽字节家族的一员。但我们来做个小实验。把phithon内容管理系统中set names修改成gb2312:

浅析白盒审计中的字符编码及SQL注入

结果就是不能注入了:

浅析白盒审计中的字符编码及SQL注入

有些同学不信的话,也可以把数据库编码也改成gb2312,也是不成功的。

为什么,这归结于gb2312编码的取值范围。它的高位范围是0xA1~0xF7,低位范围是0xA1~0xFE,而\是0x5c,是不在低位范围中的。所以,0x5c根本不是gb2312中的编码,所以自然也是不会被吃掉的。

所以,把这个思路扩展到世界上所有多字节编码,我们可以这样认为:只要低位的范围中含有0x5c的编码,就可以进行宽字符注入。


www.htsjk.Com true http://www.htsjk.com/shujukuaq/16938.html NewsArticle 002 GB2312与GBK的不同 曾经有一个问题一直困扰我很久。 gb2312和gbk应该都是宽字节家族的一员。但我们来做个小实验。把phithon内容管理系统中set names修改成...
评论暂时关闭