【问题标题】:Is <span style=...> safe for sanitize?<span style=...> 消毒是否安全?
【发布时间】:2011-07-19 07:16:53
【问题描述】:

我正在使用富文本编辑器 (CKEditor),我有机会让用户创建显示给其他用户的配置文件。

当我将 CKEditor 可以控制的许多属性显示为:

<%= sanitize(profile.body) %>

我的问题是:允许解析属性“样式”是否安全?这将允许显示文本颜色、大小、背景颜色、居中、缩进等内容。我只是想确保它不会让黑客访问我不知道的东西!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 sanitize html-safe


    【解决方案1】:

    允许解析属性'style'是否安全?

    没有。

    background-image: url(javascript:[code]);
    width: expression([code]);                  /* ie */
    behavior: url([link to code]);              /* ie */
    -moz-binding: url([link to code]);          /* ff */
    

    更不用说 UI 欺骗攻击,例如将虚假登录表单置于真实登录表单或其他东西之上。

    【讨论】:

    • 哈!非常感谢,我有感觉:)
    • 这再次表明您不能安全地加入黑名单。如果您没有考虑过在 CSS 中将 url 规则列入黑名单,那么您现在就会遇到问题。你甚至不能输出一个 CSS 字符串,你真的需要完全解析它并且只输出解析后的 DOM。
    • 但 sanitize() 不使用白名单吗?
    • sanitize 似乎用:attributes =&gt; %w( style )过滤这些例子
    猜你喜欢
    • 2017-12-29
    • 2022-01-19
    • 2013-12-30
    • 2013-04-14
    • 2018-06-10
    • 1970-01-01
    • 2011-10-05
    • 2018-09-30
    • 2020-10-12
    相关资源
    最近更新 更多