不受保护的重定向为Rails, S3,回形针



我从Brakeman那里得到这个警告。正如他们所说,依赖于用户提供值的重定向可以用来"欺骗"网站,或者在看起来无害的url中隐藏恶意链接。如果目的地未经过验证,它们还可以允许访问站点的受限区域。

| Confidence | Class | Method | Warning Type | Message | High | DocumentsController | download | Redirect | Possible unprotected redirect near line 46: redirect_to(+Document.find(params[:id]).f

在我的控制器中,我创建了一个方法download,该方法获取文件URL(存储在Amazon S3上的文件和我的数据库中的URL,感谢Paperclip)并创建一个URL(即。document_url),将持续3秒(为用户下载)感谢.expiring_url(3)

def download
  @document = Document.find(params[:id])
  document_url = @document.file.expiring_url(3)
  if URI.parse(document_url).host.include? "domain.com"
    redirect_to document_url, only_path: true
  else
    document_url = nil
  end
end

我一直试图通过布雷克曼的验证,但没有成功。正如你在上面看到的,我试图检查我的域名是否存在于URL中,但它没有改变关于Brakeman的报告。

知道该怎么做吗?

我也有类似的问题。我通过使用下面的强参数传递警告,尽管我不确定为什么它能工作。

redirect_to referer_param
def referer_param
  params.require(:referer)
end

相关内容

  • 没有找到相关文章

最新更新