多字节SQL注入

时间:2012-04-22 18:18:20

标签: mysql sql code-injection multibyte

这是经常讨论的问题,我知道,但我最近发现this vulnerability并且我正在测试我是否对这种注射有抵抗力,但是我无法模拟这种行为。可能,我不理解他们正在使用的查询。

我感兴趣的部分:

  

第一个漏洞影响mysql_real_escape_string()   函数系列,不拒绝无效的多字节字符。   例如,在UTF-8中,“0xC8”'attackersql'或“0xC8”   attackersql“字符串转换为”one_character“attackersql”   (忽略空格)。所以,查询:

     

SELECT ... WHERE v ='mysql_real_escape_string(“0xC8' attackersql”)'

     

成为:

     

SELECT ... WHERE v ='0xC8'' attackersql'

     

SELECT ... WHERE v ='one_character'toarversersql'

     

攻击者因此可以注入attackersql命令。

这个问题听起来很蹩脚,但是我怎样才能使注射工作?

注意(编辑):我正在使用PHP 5.2.6,MySQL 5.0.51a(更正)和charset'utf8'在数据库连接上设置。

0 个答案:

没有答案
相关问题