网上说addslashes有一个漏洞,mysql_escape_string和mysql_real_escape_string同样也如此,
字符集设为GBK时,0xbf27本身不是一个有效的GBK字符,但经过 addslashes() 转换后变为0xbf5c27,前面的0xbf5c是个有效的GBK字符,所以0xbf5c27会被当作一个字符0xbf5c和一个单引号来处理,结果漏洞就触发了。我的问题是,如果我的页面部分和数据库用GBK意外的字符集,比如说UTF8,是不是这个漏洞就对我构不成威胁?

解决方案 »

  1.   

    我的问题是,如果我的页面部分和数据库用GBK意外的字符集,比如说UTF8,是不是这个漏洞就对我构不成威胁?
    ====================================================
    是的,但是就这个攻击技巧来看,只要某个字符最后一个字节是16进制5c的,utf8也是一样会有问题的.待考证.