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