Ruby on Rails近日爆出了一个关键的漏洞,该漏洞允许攻击者在数据库服务器上执行SQL命令,比如,攻击者可以发起SQL注入攻击来读取未经授权的机密信息。目前该漏洞已修复,可通过文章最后的链接下载修复版本。
这是由于ActiveRecord处理嵌套查询参数的方式所致,攻击者可以使用特定的请求,向应用程序的SQL查询中注入某些形式的SQL语句。
比如,受影响的代码可以直接传递请求参数到ActiveRecord类中的where方法,如下:
受影响的版本:3.0.0及之后的所有版本
未受影响的版本:2.3.14
这是由于ActiveRecord处理嵌套查询参数的方式所致,攻击者可以使用特定的请求,向应用程序的SQL查询中注入某些形式的SQL语句。
比如,受影响的代码可以直接传递请求参数到ActiveRecord类中的where方法,如下:
CODE:
Post.where(:id => params[:id]).all 攻击者可以发起一个请求,导致params[:id]返回一个特定的哈希值,从而使WHERE从句可以查询任意数据表。受影响的版本:3.0.0及之后的所有版本
未受影响的版本:2.3.14
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/301743/viewspace-731900/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/301743/viewspace-731900/