我们对使用MS SQL数据库的简单asp应用程序执行笔测试。对于使用动态构建查询的身份验证来说,似乎只是转义单个qoutes。 当我们使用Unicode引号如%uFFO7,%u02b9等时,我们能够成功注入SQL注入。 想要了解它是更多的一种配置问题的IIS服务器无法Unicode编码的字符或验证函数来逃避单引号的方式写的问题的原因是什么?IIS 6.0服务器和Unicode字符
回答
你有没有ASP代码的例子?据我了解,编码是由IIS完成的,但这是为了运输而且不会被看到,所以它们的转义函数可能有缺陷。如果他们构建动态SQL字符串而不是使用存储过程(在任何情况下都不关心引号,但会将其作为文字字符接受),则这一点尤其正确。
在前面的问题中,一个更正的数据库不是MS SQL,而是Oracle。 期间从帕罗采取的帖子内容开发是 __DIRTY = 1&__ SENTITY = __ ISPOPUP = 1&__ ISWIZARDSTEP = 0&__ ISRETURN = 0&__ VIEWSTATE =登录=真AccessibleMode =假FromLogin = 1&提交按钮=提交+查询和用户名=用户%uFF07 + - 和密码=密码 的查询我使用NetMon捕获数据库服务器 从用户处选择Usr_Id,Usr_Status其中User_Name ='user' - '和Usr_Password ='password' 因此字符%uFF07被解释为引用。 – Srikanth 2010-05-28 04:55:52
好的,所以不是SQL Server,而是Oracle。用“存储过程”代替“包”,你就在同一个地方:从你的ASP代码构建动态SQL字符串有点危险,只是因为你指出的漏洞。 你可以发布处理查询字符串输入的代码部分吗? – 2010-06-07 15:42:25
- 1. IIS 6.0网站服务器输出?或服务器控制台?新的IIS 6.0
- 2. FileUpload服务器控件和Unicode字符
- 3. xxx.eot Web字体文件不会IIS 6.0服务器
- 4. IIS服务器和Apache服务器
- 5. CherryPy3和IIS 6.0
- 6. IIS 6.0和Webservices
- 7. 错误在IIS托管WCF服务6.0
- 8. IIS服务器和Azure AD
- 9. 监视器IIS 6.0
- 10. IIS和SQL服务器之间的连接字符串
- 11. 以编程方式设置IIS 6.0的服务器绑定
- 12. IIS 6.0中的CDate函数错误,Windows服务器2003
- 13. IIS 6.0服务器太忙HTTP 503 Connection_Dropped DefaultAppPool
- 14. 如何强制在IIS 6.0服务器上下载文件
- 15. IIS 6.0可以像tomcat一样显示服务器状态
- 16. 将WCF服务从IIS 6.0移至IIS 7.5
- 17. 从IIS共享IIS 6.0上的文件服务
- 18. 发送unicode字符串到服务器套接字
- 19. 对IIS服务器
- 20. IIS Smtp服务器
- 21. IIS SMTP服务器
- 22. 从现有IIS服务器与Joomla的IIS测试服务器
- 23. 启动IIS服务器,如果IIS服务器没有运行
- 24. 从IIS 7服务器到IIS 6服务器的FTP ASP.NET MVC
- 25. Default.aspx与IIS 6.0和.Net 4?
- 26. Visual Studio ASP.NET开发服务器和IIS服务器
- 27. IIS服务器和SQL Server的服务器规格优先级
- 28. 发送到服务器的Unicode字符作为垃圾返回
- 29. 从iPhone中的服务器检索后Unicode字符更改
- 30. 并行运行Tomcat和IIS服务器
你需要添加一个攻击的例子,目前还不清楚你在做什么。 '%uXXXX'不是一个有效的URL编码的Unicode字符,它是JavaScript'escape()'函数生成的自定义格式,绝不应该使用它。 – bobince 2010-05-27 11:57:49