Microsoft 防跨站点脚本库AntiXSS Library

AntiXSS 库目前处于版本 4.2.1,下载地址:http://www.microsoft.com/download/en/details.aspx?id=28589。它经历了一次非常棒的重新编写过程,并且就安全性而言,它提供了比 ASP.NET 附带的编码器更好的 HTML 编码器。 并不是说 Server.HtmlEncode 有什么问题,只是它侧重于兼容性而不是安全性。 AntiXSS 使用不同的方法进行编码。 有关详细信息,请访问 msdn.microsoft.com/security/aa973814。Jon Galloway 在 http://weblogs.asp.net/jgalloway/archive/2011/04/28/using-antixss-4-1-beta-as-the-default-encoder-in-asp-net.aspx 中发布了有关此内容的精彩文章。

This release addresses a vulnerability in the HTML Sanitizer, MS12-007 http://technet.microsoft.com/en-us/security/bulletin/ms12-007 and adds full support for .NET 4.0 as well as restoring support for .NET 2.0. 
The sanitizer has been changed to remove all CSS it encounters, this new behaviour means that if you were keeping CSS formatting from HTML that is no longer going to be the case. 
In addition to the change necessary to correct the vulnerability there are a few new features;

  • Minimum Requirements.

You can now, once again, use the encoder libraries with .NET 2.0. The installer will create directories for each framework version supported, .NET 2.0, .NET 3.5 and .NET 4.0 which contain an optimized version of the encoders for that platform.

  • Invalid Unicode no longer throws an exception.

Invalid Unicode characters are now replaced with the Unicode replacement character, U+FFFD (?). Previously, when encoding strings through HtmlEncode, HtmlAttributeEncode, XmlEncode, XmlAttributeEncode or CssEncode invalid Unicode characters would be detected and an exception thrown.

  • UrlPathEncode added.

The encoding library now has UrlPathEncode which will encode a string for use as the path part of a URL.

  • .NET 4.0 encoder support.

There’s finally an official way to swap AntiXSS into the framework. If you are using .NET 4.0 ensure you are using the .NET 4.0 version of the encoding library and then edit your web.config and add the encoderType attribute to the httpRuntime element; i.e.

<httpRuntime encoderType="Microsoft.Security.Application.AntiXssEncoder, AntiXssLibrary"/>

保护您的 ASP.NET 应用程序

SRE with Antixss Module

时间: 2024-11-09 04:55:10

Microsoft 防跨站点脚本库AntiXSS Library的相关文章

XSS跨站点脚本的介绍和代码防御

0x01 介绍 可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务在以下情况下会发生跨站点脚本编制 (XSS) 脆弱性: [1] 不可信数据进入 Web 应用程序,通常来自 Web 请求. [2] Web 应用程序动态生成了包含此不可信数据的 Web 页面. [3] 页面生成期间,应用程序不会禁止数据包含可由 Web 浏览器执行的内容,例如 JavaScript.HTML 标记.HTML 属性.鼠标事件.Flash 和 A

跨站点脚本编制-XSS 描述及解决方法

跨站点脚本编制可能是一个危险的安全性问题,在设计安全的基于 Web 的应用程序时应该考虑这一点.本文中,描述了这种问题的本质.它是如何起作用的,并概述了一些推荐的修正策略. 当今的大多数网站都对 Web 页面添加了动态内容,从而使用户能获得更愉快的体验.动态内容是由某些服务器进程生成的内容,它可以根据用户的设置和需要在提交时表现出不同的行为和产生不同的显示.动态网站存在着一个称为“跨站点脚本编制”(也称为“XSS”)的威胁,而这是静态网站所没有的. “一个网页可以包含由服务器生成的.并且由客户机

跨站点脚本编制实例(AppScan扫描结果)

最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中有很多是关于跨站点脚本编制问题的.下面就把这块东西分享出来. 原创文章,转载请注明 -----------------------------------------正题------------------------- 测试类型:应用程序级别测试 威胁分类:跨站点脚本编制 原因:未对用户输入正确执行危险字符清理 安全性风险:可能会窃取或操纵客户会话和cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份

解决“Internet Explorer已对此页面进行了修改,已帮助阻止跨站点脚本。”的“问题”

最近一直对网络安全知识比较感兴趣,目前在看的书是网上推荐的<Web应用安全权威指南>.这本书提供下载一个虚拟机镜像,运行这个虚拟机可以在电脑浏览器上做书中的实验. 第66页涉及到一个XSS的实验,正常的效果是执行JavaScript,弹出一个对话框.我在照做的时候IE提示"Internet Explorer已对此页面进行了修改,已帮助阻止跨站点脚本."(如图1). 我先将地址加入可信站点,没有作用.这时想到以前给公司设置OA系统时,不但需要加可信站点,还需要更改"

RailsCase27 Cross Site Scripting 跨站点脚本攻击

跨站点脚本是开发过程中经常需要考虑的安全问题.此种情形发生在允许用户直接输入html.javascript脚本时.在下述的website中,我们并没有过滤输入的内容,导致一些安全漏洞. 如果在输入框中输入由<script>包围的内容,当页面被加载的时候,脚本将被执行,每次均将在前端展示.例如,如果输入<script>alert('hello')</script>并保存,每次浏览此页面时,都将看到alert的窗口. 嵌入页面的javascript脚本如下: termina

web安全测试---跨站点脚本测试

1.1      跨站脚本测试 1.1.1        GET方式跨站脚本测试 编号 SEC_Web_XSS_01 测试用例名称 GET方式跨站脚本测试 测试目的 由于跨站脚本会导致会话被劫持.敏感信息泄漏.账户被盗,严重时甚至造成数据修改.删除,从而导致业务中断,因此需检测跨站脚本是否存在 用例级别 1 测试条件 1.  Web业务运行正常 2.  已知待测目标URL,假设为http://www.exmaple.com/page.xxx 3.  待测目标存在参数输入,假设为name=valu

【安全编码实践】保护自己免受跨站点脚本攻击

声明:本文由Bypass整理并翻译,仅用于安全研究和学习之用. 文章来源:https://medium.com/bugbountywriteup/how-to-write-secure-code-b2757b59cd4b 如何编写安全代码?保护自己免受跨站点脚本攻击! 过去几个月我一直致力于安全代码实践,我一直在努力与社区讨论易于采用的方法.我们每天看到的不安全代码的数量确实令人震惊,我们都同意“预防胜于治疗”. 保持我们的代码和应用程??序安全的最佳方法是从一开始就正确编程.编写安全代码并不困

跨站点脚本攻击(XSS)

XSS分类: (1)反射型XSS:只是简单地把用户输入的数据反射给浏览器.往往需要诱使用户"点击"一个恶意链接.也叫"非持久型XSS" (2)存储型XSS:把用户输入的数据"存储"在服务器端.也叫"持久型XSS" (3)DOM Based XSS:从效果上来说也是反射型XSS,通过修改页面的DOM结点形成的XSS. 1.cookie劫持:httponly或者将cookie和客户端IP绑定可防止 2.XSSPayload: (1

跨站点脚本攻击

介绍 XSS是跨站脚本攻击(Cross Site Scripting)的缩写.XSS是因为有些恶意攻击者往Web页面中插入恶意Script代码,当用户浏览该页面时,嵌入的Script代码将会被执行,从而达到恶意攻击用户的特殊目的. 条件 攻击者需要向web页面注入恶意代码: 这些恶意代码能够被浏览器成功的执行. 类型 XSS反射型攻击,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的,攻击是一次性的. XSS存储型攻击,恶意代码被保存到目标网站的服务器中,这