首页 > 解决方案 > 对于 CVE-2021-22885,是否只对数组内容有危险?

问题描述

如果我理解正确,对于CVE-2021-22885,如果我们的代码如下所示,则可能很危险:

redirect_to(params[:redirect_url])

params[:redirect_url]在哪里['my', 'secret']

因为在下面使用了 , 并redirect_to生成了路径,该路径看起来像一条会泄露机密信息的路径,而我们不想泄露机密信息。url_formy_secret_path

如果我的上述理解有误,请纠正我。

现在,我的问题是,我们是否只担心 redirect_to 方法的参数是数组的情况?

如果参数是包含用户输入的哈希,它仍然是危险的吗?

例如,

redirect_to(new_params)其中new_params=post_params.merge({ controller: post_params[:controller], action: post_params[:action]})

在这种情况下,用户可以设置post_params[:controller]tomypost_params[:action]to secret

另外,如果我们有redirect_to(params),那也会很危险吗?将params包含操作和控制器键值对,用户可以设置它(通过调用不同的 URL?),所以他们可以将它设置为myand secret

标签: ruby-on-railssecurityparameters

解决方案


推荐阅读