阅读更多

2顶
2踩

编程语言
Ruby on Rails近日爆出了一个关键的漏洞,该漏洞允许攻击者在数据库服务器上执行SQL命令,比如,攻击者可以发起SQL注入攻击来读取未经授权的机密信息。目前该漏洞已修复,可通过文章最后的链接下载修复版本。


这是由于ActiveRecord处理嵌套查询参数的方式所致,攻击者可以使用特定的请求,向应用程序的SQL查询中注入某些形式的SQL语句。

比如,受影响的代码可以直接传递请求参数到ActiveRecord类中的where方法,如下:
    Post.where(:id => params[:id]).all 

攻击者可以发起一个请求,导致params[:id]返回一个特定的哈希值,从而使WHERE从句可以查询任意数据表。

受影响的版本:3.0.0及之后的所有版本

未受影响的版本:2.3.14

修复版本下载

2
2
评论 共 7 条 请登录后发表评论
7 楼 amonlei 2012-06-05 10:29
OpenMind 写道
很低级很低级的错误,如果是学生犯这个错还情有可原(见过很多)...

一看就知道,没用过rails,说这个话
6 楼 OpenMind 2012-06-05 09:26
很低级很低级的错误,如果是学生犯这个错还情有可原(见过很多)...
5 楼 jerry 2012-06-04 14:32
3.2.5发布了,修吧.
4 楼 Hooopo 2012-06-04 11:29
bee1314 写道
希望尽快修复!

已经修复了
3 楼 jn615 2012-06-04 11:10
漏洞真是无处不在啊
2 楼 bee1314 2012-06-04 11:00
希望尽快修复!
1 楼 vancysheva 2012-06-04 10:40
  

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Django模型序列化返回自然主键值示例代码

    主要给大家介绍了关于Django模型序列化返回自然主键值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

  • 自然主键和代理主键的区别

    自然主键:就是充当主键的字段本身具有一定的含义,是构成记录的组成部分,比如学生的学号,除了充当主键之外,同时也是学生记录的重要组成部分。 代理主键:就是充当主键的字段本身不具有业务意义,只具有主键作用...

  • 自然主键与代理主键

    1.自然主键是指事物属性中的自然唯一标示(例如身份证号) 2.代理主键是指与业务无关的,无意义的数字序列值 3.在表设计时,优先推荐代理主键,不推荐自然主键(代理主键无意义,所以与业务解耦,另一方面,...

  • 了解下自然主键和代理主键

    自然主键:指的是事务属性中的自然唯一标示,比如员工的身份证号,除了可以充当主键之外,同时也是员工信息的重要组成部分。 代理主键:指的是与业务无关,无意义的数字序列值,仅仅具有主键的作用,比如自动增长的...

  • 动力节点MySQL数据库入门视频教程-095-自然主键和业务主键

    动力节点的杜老师讲述的mysql教程,详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,通过观看可掌握MySQL全套知识。

  • MySQL自增主键详解

    之后,再执行insert into t2 values(null, 5,5),实际上插入了的数据就是(8,5,5) 这是主键id出现自增id不连续的第三种原因 五、自增主键用完了 自增主键字段在达到定义类型上限后,再插入一行记录,则会报主键冲突的...

  • 【PostgreSQL】自增主键的问题与扩展

    对于主键,作为开发者在学生时代就要学习,进入职场,开始充斥各种类型的主键,有.net系的GUID做主键,也有java系的用uuid,当然这俩基本就是一回事,然后还有了雪花id,自增id做主键,以及现在常用的自增id做主键,...

  • 数据库设计中如何选择主键 (自然键或代理键 )| Part 1

    在 “选择主键”的第一部分中,我们探讨了自然主键和代理主键,并考虑了什么因素决定选择哪一种。决定一开始使用自然键还是代理键是很重要的,因为你选择哪种主键也将有助于解答一些后续问题,特别是使用代理键。

  • mysql uuid 做主键_MySQL UUID做主键

    这是个问题。 我唯一还算熟悉的数据库就算是MySQL了,大概使用MySQL的人,百分之九九以上的人会使用Autoincrement ID做主键,这是可以理解的,因为MySQL的自增ID效率很高,使用也很方便。那么剩下的百分之一的人使用...

  • mysql和oracle主键生成策略_主键生成策略

    1、自动增长identity适用于MySQL、DB2、MS SQL Server,采用数据库生成的主键,用于为long、short、int类型生成唯一标识使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,...

  • 关于业务主键和逻辑主键

    主键(PRIMARY KEY):表通常具有包含唯一标识表中每一行的值的一列或一组列。这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。 外键(FOREIGN KEY):外键 (FK) 是用于建立和加强两个表数据之间的...

  • mysql主键标识_实体标识与数据库主键

    今天,我们将讨论DDD意义上的标识与数据库主键之间的区别。我们经常将两者混合在一起,但它们真的是一回事吗?实体标识在DDD的背景下,标识是实体固有的东西。只有实体拥有它;它是用于区别于所有其他实体的唯一标识...

  • hibernate之自然主键的错误

    org.hibernate.HibernateException: An immutable natural identifier of entity ... hibernate之自然主键在默认情况...

  • 主键约束!

    主键约束!

  • mysql去除表其中一个主键_mysql无法删除表中的主键

    1、mysql删除表中的主键时报错,如下代码所示:mysql>altertablestudentdropprimarykey;ERROR1075(42000):Incorrecttabledefinition;therecanbeonlyoneautocolumnanditmustbedefinedasakey2、问题原因:查看...

  • UUID做主键是不是有点LOW

    参考了MySQL官方文档的内容,对UUID作为数据库主键的缺点进行了论述,并通过实验进行了性能对比验证

  • debugpy-1.0.0b4-cp38-cp38-manylinux1_i686.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • 细说PyTorch深度学习:理论、算法、模型与编程实现 03

    细说PyTorch深度学习:理论、算法、模型与编程实现 书籍源码

  • debugpy-1.0.0b2-cp36-cp36m-manylinux1_i686.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • 毕业设计MATLAB_使用集成学习在社交网络中进行链接预测.zip

    毕业设计MATLAB

Global site tag (gtag.js) - Google Analytics