宽字符是指多个字节宽度的编码,如UNICODE、GBK、BIG5等。转义函数在对这些编码进行转义时会丢掉转义字符“\”(将它转换为%5C),你可以在它前面再输入一个单字符编码与它组成一个新的多字符编码,使得转义实际上没有发生作用(转义就是要留下“\”防范注入的)。
举个例子:
输入……php?name=a%df’ or 1=1;%20%23
转义函数会将%df’改成%df\’,如果你的编码是GBK,%df\’就对应着%df%5c’,在GBK中,这两个字节%df%5c又对应着一个汉字“運”,也就是说\已经失去了作用,a%df’被认为是a運’,成功消除了转义函数的影响。
---------------------
原文:https://blog.csdn.net/WhiteLamp/article/details/78744872
版权声明:本文为博主原创文章,转载请附上博文链接!
sql宽字节注入原理
最新推荐文章于 2024-07-11 20:46:01 发布