【问题标题】:ruby on rails sql injection on LIKE '%#{argument}% vulnerable?ruby on rails sql 注入 LIKE '%#{argument}% 易受攻击?
【发布时间】:2015-03-26 17:53:39
【问题描述】:

我有一个关于 ruby​​ on rails sql 注入漏洞的问题。假设我有这样的方法:

def self.search(args)
 where_clause = `items`.`name` LIKE '%#{args}%'
 results = Item::where(where_clause)
 return results
end

其中 args 是从搜索框中传入的值。这容易受到攻击吗?我最初的想法是这很容易受到攻击,但是,在尝试了一些查询之后,我无法做到。

LIKE '%%' 有什么特别之处使它不受攻击吗?

谢谢!

【问题讨论】:

  • 你试过什么数据库? :)
  • 只是我们正在开发的我自己的本地数据库。
  • 我的意思是:mysql, postgre, sqlite, sth else?
  • 你到底尝试了什么?
  • 哦,对不起。这是mysql。我尝试了 a%' 或 1=1 'a 它允许我显示所有记录,这显然意味着它可以被注入,但我无法获得删除或销毁语句来处理

标签: mysql ruby-on-rails security sql-injection


【解决方案1】:

为了安全起见,我通常这样做:

Item.where("name LIKE ?", "%#{args}%")

【讨论】:

  • 我同意你的观点,为了安全起见,我也喜欢这种方法。但是,LIKE '%%' 使它不易受到攻击呢?我尝试了几个不同的角度。
猜你喜欢
  • 2015-10-03
  • 2019-08-10
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
相关资源
最近更新 更多