簡體   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