Mik*_*ith 6 asp.net xss tinymce antixsslibrary asp.net-mvc-3
我已经阅读了很多关于XSS以及如何处理的帖子.通常,共识是黑名单上的白名单,并避免使用正则表达式(太多的变体来处理).
我正在研究ASP.Net MVC3应用程序.我需要能够从用户条目中显示HTML(例如<strong>,<ul>,<li>等...)但我不想要任何XSS风险.
我正在通过Nuget使用AntiXSS软件包.在我的模型中,我有
[AllowHtml]
public string UserDetails{ get; set; }
Run Code Online (Sandbox Code Playgroud)
在我看来,我有TinyMCE迷上了textarea.
在我的控制器中,我从View获取帖子并清理它:
using Microsoft.Security.Application;
...
string SanitizedDetails = Sanitizer.GetSafeHtmlFragment(model.UserDetails);
Run Code Online (Sandbox Code Playgroud)
我的问题:我做得对吗?我是否受到大多数XSS问题的保护,还是我咆哮着错误的树?
您将根据某些表格进行发布。允许 html 本身就是一项危险的操作,因此您正在尽力减轻它的影响。你的方法在这里非常好。
还有其他选项可以提供帮助,但不幸的是,并非所有内容都已准备好投入生产。各种浏览器部分支持某些内容安全策略标头。例如: http: //www.w3.org/TR/CSP/
所以你拥有的东西是不错的,但如果你想冒险进入内容安全策略,你可以稍微增强一下(例如)
如果您有兴趣,我会在这里介绍很多 XSS 攻击。 http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=hack-proofing-dotnet-app
您可能需要在渲染之前(以及保存之前)进行额外的清理,以防其他攻击(例如 SQL 注入)将 xss 代码插入到您的 html 中。
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |