SAP MaxDB MySQL修补数据库严重漏洞

 更新时间:2016年11月25日 16:41  点击:1812

近日SAP的开发者修正了一个存在SAP MaxDB数据库中的严重漏洞,该漏洞可以被黑客利用来执行恶意代码。


来自赛门铁克的研究人员Olive Karow发现了这个数据库漏洞。该漏洞在最新版本MaxDB 7.6.00.31中被修补。


根据赛门铁克发布的报告,“通过发送一个变形的HTTP请求,攻击者可以获得wahttp进程的权限,从而执行恶意代码。不需要认证就可以成功的利用该漏洞。”

根据赛门铁克的报告,有一个临时性的解决办法,MaxDB客户可以禁用SAP-DB的WWW服务或控制其访问权限。SAP客户可以从www.service.sap.com下载最新版的数据库。


在2004年,SAP与开源数据库MySQL达成了一个协议,可以对SAP DB专利共享,随后该数据库更名为MaxDB。MaxDB被进行了最优化,以与mySAP商务套件和MySQL数据库管理系统配合运行。


原文链接:http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1213576,00.html


(t114)

MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表

内容

user 能连接服务器的用户以及他们拥有的任何全局权限

db 数据库级权限

tables_priv 表级权限

columns_priv 列级权限

还有第5个授权表(host),但它不受GRANT和REVOKE的影响。

当你对一个用户发出一条GRANT语句时,在user表中为该用户创建一条记录。如果语句指定任何全局权限(管理权限或适用于所有数据库的权限),这些也记录在user表中。如果你指定数据库、表和列级权限,他们被分别记录在db、tables_priv和columns_priv表中。

用GRANT和REVOKE比直接修改授权表更容易些,然而,建议你阅读一下《MySQL安全性指南》。这些表异常重要,而且作为一名管理员,你应该理解它们如何超越GRANT和REVOKE语句的功能水平。

在下面的章节中,我们将介绍如何设置MySQL用户账号并授权。我们也涉及如何撤权和从授权表中删除用户。

你可能也想考虑使用mysqlAccess和mysql_setpermission脚本,它是MySQL分发的一部分,它们是Perl脚本,提供GRANT语句的另一种选择设置用户账号。mysql_setpermission需要安装DBI支持。

1、 创建用户并授权

GRANT语句的语法看上去像这样:

GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION

要使用该语句,你需要填写下列部分:

privileges

授予用户的权限,下表列出可用于GRANT语句的权限指定符:

权限指定符


问:

MySQL已经通过免费和开源的特性已经慢慢的占领市场,MySQL崛起的过程中Oracle,DB2等都采取了部分代码开源的崛起,我想知道MySQL面对市场竞争对手的方案,MySQL会采取怎样的措施?

David Axmark:

开源和免费是两个完全不同的概念,免费并不是真正的开源,这是最大的区别。我们虽然是免费的但是没有开源,所谓开源是所有的代码都公开了,我们只是编好的你可以用。

我所知道其他专有数据库的开源项目,往往是公司内部已经“死”掉的项目,而且客户也没有需求,所以就开源了。比如(IN??)就是用户越来越少,然后就开源了。

问:

这样说的话是不是因为这些公司用开源满足客户的需求,单方面最终目标是赚钱,MySQL为什么要开源?MySQL的最终目标是不是为了赚钱?

David Axmark:

我们一直就是盈利,只不过增长投资以后要拓展,拓展以后有点亏钱,但是我们随时可以变得盈利。任何一家公司存在本身就都是要赚钱的,不光是开源的还是怎么样。但是我们赚的钱要比一般的软件公司赚的少很多,尽管是这样我们发展的还是很快的。

问:

是不是可以理解为这是“薄利多销”的特点,就是挣的钱很少,但是是迅速的占领市场份额。您刚才演讲的时候说到现在排名前面的还有两个,一个是 SQL Server,一个是Oracle,面对这两个强大的竞争对手,MySQL自己最大的核心竞争力是什么?

David Axmark:

让我们看吧。

问:

我想请问一下周先生,刚才演讲的时候也有人讲到中国人对开源不很理解,周先生是致力于开源事业的,您对这个问题怎么看?

周群:

我觉得中国市场和国外市场有所区别。我经常开一些开源论坛的会,包括SUN的,会上大家讨论的时候外国专家和中国专家,中国专家愿意谈跟Windows兼容性的问题,外国专家认为不应该花精力在微软这个事上的,因为要兼容的话不断的跟微软走。微软随时说随便找一个东西都可以不兼容,所以他们集体的对中国的开源界有一些争论。有些开源专家认为中国这么多的用户,我们还是要把兼容性解决。我们中国有很好的开源精神领袖,他在会上发言说,因为他参与了世界开源的讨论,所以他也说中国怎么跟国外配合发展开源系统,而不是中国自己关起门来。当中国的专家提跟Windows兼容的时候遇到这样那样的难题,就是应该没有人支持你,拿到国际上也没有上给你钱。

问:

我想问一下David Axmark先生,目前在全球购买MySQL数据库的用户大概占到什么样的比例?第二个问题分别请两位讲进目前GPL第三版本出来以后业界对数字版权方面是什么态度,SQL是否会支持?

David Axmark:

确实不知道有多少比例,我估计是1000:1。我不知道的原因是我不看重有多少商业用户。GPL3更简洁,而且更国际化了,GPL3在数据库方面取得了很多法律方面的保护,但是在数字版权方面具体的细节大家还是有争议的。数字版权确实有这样那样的争议,主要争议是有多少允许免费用?这个争议我认为很快还是可以解决的。

问:

我想问一下许可协议的问题,商业版的最新的正在研发中的MySQL5.0的版本,MySQL新的版本采取什么样的协议,在收费上有什么样的计划?

David Axmark:

2001年到现在MySQL的各种版本已经面市,5.0已经宣布,现在是5.1颁布。

问:

红帽公司提出一种服务方式,就是服务即软件的说法,我想知道MySQL在服务模式上有什么样的看法?是否同意这样的说法还是有自己另外的服务模式?我们今天研发中心成立对于中国MySQL用户来说无疑是天大的好消息,我们进入中国的过程中有没有针对中国的用户,社区以及中国的MySQL企业级用户有怎样的服务计划?

David Axmark:

完全同意红帽的概念,在中国我们和全球的MySQL用户都一样,可以享受订阅和服务。MySQL是开源的,它区别是的个人用户要从社区上下载自己维护,企业级用户要购买商业版才能得到一定的服务。

问:

MySQL数据库以目前主流数据库在兼容度上怎么样?我所关心的问题是我们企业大部分的应用都开发在其他的主流数据上,能部分平滑的过渡过来?第二个问题,请问MySQL的开发工具目前是采用自己的开发工具还是第三方的开发工具,有没有汉化版?

David Axmark:

迁移主要看用户的应用,在很多事例中有的迁移非常容易,有的迁移就非常难,关键看您的应用。现在大型数据库功能非常全,但是要看性能可靠性和易用性。我们自己有开发工具,也支持结合MySQL的第三方的开发工具,第三方开发工具可能是有汉化的。

MySQL 数据表的字段必须有定义一个数据类型。这有大约 25 种选择,大部分都是直接明了的,就不多费口舌了。但有几个有必要提一下。

TEXT

TEXT 不是一种数据类型,虽然可能有些书上是这么说的。它实际上应该是“ LONG VARCHAR ”或者“ MEDIUMTEXT ”。

DATE

DATE 数据类型的格式是 YYYY-MM-DD ,比如: 1999-12-08 。你可以很容易的用 date 函数来得到这种格式的当前系统时间:

date("Y-m-d")

并且,在 DATA 数据类型之间可以作减法,得到相差的时间天数:

$age = ($current_date - $birthdate);

SET

集合 SET 是一个有用的数据类型,它和枚举 ENUM 有点相似,只不过是 SET 能够保存多个值而 ENUM 只能保存一个值而已。而且, SET 类型最多只能够有 64 个预定的值,而 ENUM 类型却能够处理最多 65,535 个预定义的值。而如果需要有大于 64 个值的集合,该怎么办呢?这时就需要定义多个集合来一起解决这个问题了。

通配符

SQL 的同配符有两种:“ * ”和“ % ”。分别用在不同的情况下。例如:如果你想看到数据库的所有内容,可以像这样来查询:

SELECT * FROM dbname

WHERE USER_ID LIKE '%';

这儿,两个通配符都被用上了。他们表示相同的意思 ?? 都是用来匹配任何的字符串,但是他们用在不同的上下文中。“ * ”用来匹配字段名,而“ % ”用来匹配字段值。另外一个不容易引起注意的地方是“ % ”通配符需要和 LIKE 关键字一起使用。

还有一个通配符,就是下划线“ _ ”,它代表的意思和上面不同,是用来匹配任何单个的字符的。

(T115)

[!--infotagslink--]

相关文章

  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • php中Multipart/form-data漏洞补丁修复

    Multipart/form-data是文件上传或数据提交时会用到了,在php中Multipart/form-data是有安全bug的,下面我们来看看如何修复Multipart/form-data的bug吧. 今天在乌云...2016-11-25
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • c#异步读取数据库与异步更新ui的代码实现

    这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25