我是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的交集,以最大限度地减少天真的后处理器重新生成的可能性.引入漏洞.
标签:java,sanitization,owasp 来源: https://codeday.me/bug/20190703/1365303.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。