java 我在一个项目中使用org.owasp.esapi,我想更改ESAPI.properties文件,以便它可以在编码器中将'&'列入白名单,你能帮助我吗

bjg7j2ky  于 2023-04-10  发布在  Java
关注(0)|答案(1)|浏览(314)

我在Java项目中使用org.owasp.esapi。我使用ESAPI.encoder().forHTML()方法对用户输入进行编码,但此方法将“&”编码为“&”,但我不想更改“&”,因此我想将编码器未编码的“&”字符列入白名单。那么,我如何更改ESAPI.properties文件,以便编码器将此方法列入白名单?
请帮助我找到白名单的任何字符的属性。

nfeuvbwi

nfeuvbwi1#

ESAPI故意不提供一个简单的方法让你白名单额外的字符。许多人要求没有意识到后果。(在这种情况下,它可能会允许来自双重编码的攻击。)因此,唯一的方法是编写自己的编码器来替换org.owasp.esapi.reference.DefaultEncoder,方法是为ESAPI.Encoder属性指定自己的类,而我们肯定不会这样做 *我建议你这么做。
也就是说,如果我可以问,你在这里试图解决什么具体问题?通常只有一个或两个特定的字段,其中需要允许呈现的某些字符通常是被阻止的,并且它被双重编码,因此'&'显示为&''。如果你解释你想要做的特定上下文是什么,我们可以提出比你的建议危险性小的替代方案。

相关问题