我们在一个使用MS SQL数据库的简单asp应用程序上执行笔测试。对于身份验证,他们似乎使用了动态构造的查询,但转义了单个qoutes。当我们使用像%uFFO7,%u02b9等Unicode引号时,我们能够成功地注入SQL注入。想要了解更多的是IIS服务器的配置问题来规范Unicode字符,还是编写转义单引号的验证函数是导致问题的原因?
发布于 2010-05-27 21:56:45
据我所知,编码是由IIS完成的,但这是为了传输,不会被看到,真的,所以他们的转义函数可能是有缺陷的。如果他们正在构建动态SQL字符串,而不是使用存储过程(在任何情况下,存储过程都不会关心引号,但会将引号作为原义字符接受),这一点尤其正确。
https://stackoverflow.com/questions/2920812
复制相似问题