繁体   English   中英

OWASP html清洁剂 - 为什么它会覆盖一些实体?

[英]OWASP html sanitizer - Why does it unescape some entities?

我是Owasp的新用户,它是HTML清理程序,并且发现使用我使用的任何策略,它都会将一些实体转移回字符。

例如这个字符串:

@ test !

变成了这个:

@ test !

我想尽可能“按现状”离开实体。 我甚至可以理解它是否逃避它们,而不是取消它们。

这可能与消毒剂有关吗? 无论我尝试使用什么政策,它似乎都会这样做。

这是我为简单测试运行的代码:

package com.my.company.test;

import org.junit.Test;
import org.owasp.html.PolicyFactory;
import org.owasp.html.Sanitizers;

import junit.framework.TestCase;

public class OwaspSanitizerTest extends TestCase {
  public static final PolicyFactory POLICY = Sanitizers.IMAGES;

  @Test
  public static final void testTextFilter() throws Exception {
      String data = "@ test !";
      String result = POLICY.sanitize(data);

      System.out.println(result);

      assertEquals("@ test !", result);
  }
}

编辑:我问的原因是我希望我的用户输入尽可能匹配我们输出的内容。 我知道在某些情况下这是不可能的,但是预计会出现这种情况。

清理程序对文本节点进行解码,然后对它们进行重新编码以阻止编码级别的攻击,从而确保输出尽可能接近HTML和XML的交集,以最大限度地减少天真的后处理器重新生成的可能性。引入漏洞。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM