【问题标题】:Brakeman Warning: Unsafe parameter value in `link_to` href even after sanitizing the paramBrakeman 警告:即使在清理参数后,`link_to` href 中的参数值也不安全
【发布时间】:2021-04-28 16:30:48
【问题描述】:

我的 html.haml 视图中有以下代码:

= link_to params[:returnurl], class: "btn btn-secondary" do
    = fa_icon 'chevron-left', class: 'm-r-quarter', text: 'Cancel'

当我运行刹车时,我收到以下警告:

Confidence: High
Category: Cross-Site Scripting
Check: LinkToHref
Message: Unsafe parameter value in `link_to` href

即使使用sanitize 如下所示,它仍然给我同样的警告:

= link_to sanitize(params[:returnurl]), class: "btn btn-secondary" do
    = fa_icon 'chevron-left', class: 'm-r-quarter', text: 'Cancel'

我很困惑为什么我仍然得到它以及我将如何解决它。谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby brakeman


    【解决方案1】:

    使用传入的参数作为链接的href 的值创建链接通常是不安全的。

    想象一个邪恶的代理可以发送一个链接到您的页面,其中returnurl 参数指向一个他们可以从您的用户详细信息中进行网络钓鱼的网站,或者returnurl 可以使用javascript:,然后传递用户 cookie 数据到他们的服务器并劫持会话。

    您需要重新考虑它的设计,以便不必将returnurl 作为参数。理想情况下,您可以从其他一些信息中推断出来。将 url 存储在用户会话中是一种混淆选项,但这仍然可能被利用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 2018-11-09
      • 2016-11-30
      • 2020-01-31
      • 2017-05-08
      • 2023-03-23
      • 2020-09-26
      相关资源
      最近更新 更多