【问题标题】:Ajax Control Toolkit Editor Control - avoiding XSS attacksAjax Control Toolkit Editor Control——避免XSS攻击
【发布时间】:2009-10-01 13:26:14
【问题描述】:

我在this 文章中注意到,由于存在跨站点脚本攻击的危险,Microsoft 不建议在公共站点中使用 Ajax 控件工具包中的编辑器控件。我试了一下,即使你专门设置了 NoScript="true" 也可以添加脚本,因此引入了 XSS 攻击漏洞。在我的情况下,我们正在研究奖学金申请流程,我们曾希望将其用于所有被提名者以在线输入论文。我们想获取数据并将其重新展示给审查委员会,但显然这是个坏主意。

所以我想知道是否有人知道一种简单的方法来验证内容以允许 HTML,但不允许使用脚本,也许使用我可以在代码隐藏中使用的 CustomValidator 或正则表达式。我知道最好是白名单验证而不是黑名单验证,'我正在专门寻找那个。

或者,如果有人知道可以防止 XSS 攻击的类似控件,那也很好。

【问题讨论】:

    标签: asp.net regex xss security html-editor


    【解决方案1】:

    AntiXSS 库的最新版本现在对 HTML 进行了一些清理,我认为这可以满足您的需求。看看Blowdart 的博客here

    2015 年 9 月 15 日更新:
    AntiXSS 已加入.Net 4.0 Framework,请在您的.config 文件中启用它。

    【讨论】:

    • 老兄,你不能多次投票给某人,这太糟糕了。这太棒了..我不敢相信我以前从未研究过这个。我只是一直坚持使用验证来清理我的输入并在适用的情况下使用 HtmlEncode,但这更好.. 更好的性能,加上新的 GetSafeHtmlFragment() 函数在这种情况下有效!再次感谢您!
    • 并不是说我不会清理输入并采取所有预防措施。这只是一个不错的附加工具。
    • 不幸的是,链接已损坏。 :-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多