Had*_*des 5 .net asp.net xss validation
在asp.net中,PagesSection.ValidateRequest方法足以阻止所有XSS攻击,还是有更多需要做的事情?
任何人都可以指向我专门针对asp.net这个主题的更全面的资源,因为谷歌主要返回MSDN文章,我想验证我们做得还不够.
Microsoft AntiXSS 库是 ASP.Net 的一个很好的解决方案。它使用白名单(与黑名单)方法,并且似乎由 Microsoft 定期更新。
最新下载(截至本文):http://www.microsoft.com/download/en/details.aspx ?displaylang=en&id=28589
AntiXSS 支持文本和 HTML 样式验证。HTML 验证确实允许可能不需要的内容(例如另一个域中的图像)。
它要求您通过库运行每个输入值,这将产生额外的(尽管简单)代码。
using System;
using Microsoft.Security.Application;
public class AppText
{
public static string GetSafeHtml( string inputText )
{
return Sanitizer.GetSafeHtmlFragment( inputText );
}
public static string GetSafeText( string inputText )
{
return Microsoft.Security.Application.Encoder.HtmlEncode( inputText );
}
}
Run Code Online (Sandbox Code Playgroud)
手动验证每个输入可确保您不会假设安全性只是由 ASP.Net 请求验证“处理”。它还使您可以根据需要灵活地禁用请求验证(请求中存在可疑字符的合法情况)。由于您正在使用 AntiXSS 库显式验证输入,因此您可以在请求中允许字符/标记。
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
归档时间: |
|
查看次数: |
1503 次 |
最近记录: |