如何确保为具有编码文本的请求返回编码文本?

时间:2013-09-25 09:33:56

标签: security http grails encoding ascii

在Grails架构中,我们有一些请求可以在请求参数中发送%0d%0a。这是用于换行和回车的Ascii编码文本。 在此请求中,还会返回发送的参数。这意味着我们应该发回%0a %0d但我们不是。您实际上可以在响应中看到新行和回车符。

我被告知这是一个安全风险因为我们解释了文本。这是对的吗?

是否有一个grails解决方案,您可以确保控制器无论是将Json返回到Ajax请求还是将模型转换为GSP解码编码文本。

由于

1 个答案:

答案 0 :(得分:1)

查看grails文档的security section - 尤其是XSS Prevention部分。

如果您没有对请求参数进行编码 - 您应用的用户可以注入自己的代码来攻击您的应用。

我没有关于您的应用的详细信息,但您应将参数编码为html。 您可以在Config.groovy

中将其设置为默认值
grails.views.default.codec = "html"

如果设置此默认值,则必须注意双重编码。 如果tagLib或插件也明确地将参数编码为html,则可能会发生这种情况。

相关问题