ASP.Net 处理 XSS 保护存在缺陷

来源:岁月联盟 编辑:zhuzhu 时间:2007-12-22
ASP.Net 处理 XSS 保护存在缺陷 涉及程序: 
ASP.Net 

描述: 
ASP.Net 处理 XSS 保护存在缺陷

详细: 
为了让应用程序开发者写出安全的代码,Microsoft 给ASP.Net 1.1 framework 添加了新的特性,名为请求确认。通过自动检查所有请求参数和确认内容中不含 HTML 标签来保护免受跨站脚本和脚本注入安全。

ASP.Net 请求确认特性存在执行缺陷,安全者很容易绕过内容限制实施跨站脚本和脚本注入安全。

研究表明该特性在于禁止所有参数内容中的<串。强制"<script>", "<img" 甚至 "<a>"都被禁止,但象"</script>" 之类的被允许。当服务器收到被禁止的参数内容就会向客户端发送错误消息。但是只需在少量标记和HTML标签第一个字符之间设置 NULL 字符,该过滤机制可被轻松绕过。由于这个符号不会被请求确认特性给验证,它将被忽略。在多数浏览器包括 IE 6.0 都会忽略输入的NULL,当浏览器把该串当作 HTML 标签解释的时候,就会留有跨站脚本安全或脚本注入的危险。

受影响系统:
ASP.Net 1.1

安全方法: 
示例代码:
foo.bar/search.asp?term=3D<%00SCRIPT>alert(Vulnerable)</SCRIPT> 

解决方案: 
目前厂商未公布该缺陷补丁,请用户及时关注厂商站点:
www.microsoft.com