link_to href中的不安全参数值

时间:2016-01-12 06:59:42

标签: ruby-on-rails ruby ruby-on-rails-3 xss erb

我已将以下行添加到模板文件

link_to("CSV", params.merge(:action => "list", :format => :csv, :filename => filename)

安全评估工具显示警告说存在与此相关的跨脚本漏洞。我需要知道

1)为什么会出现这样的漏洞? 2)这个问题的解决方案是什么?

1 个答案:

答案 0 :(得分:2)

我认为不需要将:format:filename合并到参数中。 这将导致两个主要的并发症。

  1. 有人可以修改查询字符串,从而使安全漏洞成为可能。
  2. 在运行时使用用户定义的符号并将它们与params合并,也为DoS(拒绝服务)攻击留下了一扇门。
  3. (您可以谷歌了解这些问题以获取详细说明)

    专注于解决此问题的方法是

    link_to("CSV", :action => "list", :format => :csv, :filename => filename)
    

    或者是否在其他控制器中

    link_to("CSV", :controller => "controller_name", :action => "list", :format => :csv, :filename => filename)
    

    这可能有助于您解决问题。

    祝你好运。