我刚刚回答了一个问题,答案提示AntiXss库以避免跨站点脚本.听起来很有意思,在阅读msdn博客时,它似乎只是提供了一个HtmlEncode()方法.但我已经使用了HttpUtility.HtmlEncode().
为什么我要在HttpUtility.HtmlEncode上使用AntiXss.HtmlEncode?
实际上,我不是第一个提出这个问题的人.事实上,Google 主要提出了一些 答案
嗯,这很好,但这对我意味着什么?我不那么在乎为0.1ms的表现,我不觉得自己真的要下载并添加另一个库的依赖了,我已经拥有的功能.
是否存在AntiXss实现可以防止HttpUtility实施不会发生攻击的情况示例?
如果我继续使用HttpUtility实施,我是否有风险?怎么样这个"错误"?
是否有库或可接受的方法来清理html页面的输入?
在这种情况下,我有一个只有姓名,电话号码和电子邮件地址的表单.
代码必须是C#.
例如:
"<script src='bobs.js'>John Doe</script>"
应该成为 "John Doe"
微软的AntiXSS库已经被打破了6个月,看起来已经放弃了(可能是也可能不是正式).由于先前版本存在安全问题,因此回滚到早期版本是不安全的.在使用Microsoft(特别是MVC)堆栈时,是否有任何针对AntiXSS和Web安全的积极开发的替代方案?
当您可以简单地使用数据编码时HttpUtility.HtmlEncode
,我们为什么要使用AntiXss.HtmlEncode
?
为什么白名单比黑名单更好?
此外,在Anti XSS库中,我在哪里指定白名单?
我一直在阅读Anti-XSS Security Runtime Engine,它看起来像是一个很好的Web表单解决方案,因为它通过反射检查控件并在适当的时候自动编码数据.但是,由于我没有真正使用ASP.NET MVC中的服务器端控件,因此它似乎不是ASP.NET MVC的可行解决方案.这是正确的还是我错过了什么?
我不能包含Microsoft.Security.Application
using Microsoft.Security.Application;
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
命名空间"Microsoft"中不存在类型或命名空间名称"Security"(您是否缺少程序集引用?)
是的,我点击了Bin - > Add Reference ... - > AntiXSSLibrary.dll,它将它添加到包含AntiXSSLibray.xml的Bin文件夹中.
我重建了整个网站,但仍然没有.
我正在使用ASP .NET 3.5 C# - AntiXSSLibrary 4.0稳定
在ASP.NET 4.5中,有一个新的命名空间System.Web.Security.AntiXss
,其中包括AntiXssLibrary 4.0版本的编码例程(http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382).
最新版本的AntiXssLibrary是4.2.1.
我很困惑我在新项目中使用什么类型编码输出HTML:内置System.Web.Security.AntiXss.AntiXssEncoder
或Microsoft.Security.Application.AntiXssEncoder
来自AntiXssLibrary.谁能告诉我哪种类型更适合使用?为什么?
我正在考虑在我的项目中使用WMD而不是现有的RadEditor.我一直在阅读一些关于如何存储和检索数据的帖子,我想在继续之前确保我的概念是正确的.
如果我的研究是正确的,这就是我应该做的.
任何人都可以确认或否认这是否正确,还可以在主题上添加任何有用的输入?
引用
重新格式化我的代码:Sanitize Html
StackOverflow:如何在asp net
StackOverflow中使用wmd存储markdown :在存储到db之前或者在渲染antixss库之前清理html
StackOverflow:在数据库中存储html实体或在检索时转换
我正在寻找一个XSS漏洞的例子,只需使用AntiXSS Encoder 4.1 Beta作为运行时编码器(在system.web/httpRuntime中设置)就可以阻止该漏洞.我更喜欢不需要任何显式调用AntiXss函数的东西,比如
@AntiXss.JavaScriptEncode(ViewBag.UserName)
Run Code Online (Sandbox Code Playgroud)
我正在考虑一些可以通过ASP.NET黑名单获得但不会通过AntiXSS白名单的内容,可能与备用字符集或编码有关?
我测试过UTF-7漏洞,但看不到任何影响现代浏览器的漏洞.
我有一个编辑器,允许用户添加存储在数据库中并在网页上呈现的HTML.由于这是不受信任的输入,我打算Microsoft.Security.Application.AntiXsSS.GetSafeHtmlFragment
用来清理HTML.
antixsslibrary ×10
asp.net ×5
xss ×5
.net ×3
asp.net-mvc ×2
c# ×2
security ×2
asp.net-4.5 ×1
html-encode ×1
markdown ×1
namespaces ×1