[英]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.