当前位置:主页>科 研>学术交流>

数据库安全漏洞浅析(4)

  4数据库产品bug

  ·缓冲区溢出

  这类漏洞是由于不严谨的编码,使数据库内核中存在对于过长的连接串、函数参数、SQL语句、返回数据不能严谨的处理,造成代码段被覆盖。

  通过覆盖的代码段,黑客可以对数据库服务器进行各种操作,最常见的是使数据库崩溃,引起拒绝服务。

  例如,SQL Server中利用缓冲区溢出,攻击者可以通过以下函数或存储过程执行任意代码:RAISERROR、FORMATMESSAGE、xp_sprintf、 sp_Mscopyscriptfile、xp_sqlinventory、xp_sqlagent_monitor、sp_OACreate、sp_OAMethod、sp_OAGetProperty、sp_OASetProperty、sp_OADestroy;另外,xp_peekqueue、xp_displayparamstmt、xp___execresultset等40多个函数或扩展存储过程也存在缓冲区溢出。

  ·拒绝服务攻击漏洞

  数据库中存在多种漏洞,可以导致服务拒绝访问,如命名管道拒绝服务、拒绝登录、RPC请求拒绝服务等。

  例如Microsoft SQL 7.0服务允许一个远程攻击者通过不正确格式的TDS数据包引起拒绝服务;本地或远程用户通过向命名管道发送一个长请求引发拒绝服务。

  例如MySQL中Data_format()函数在处理用户提交的参数时存在漏洞,畸形的参数数据会导致MySQL服务器崩溃。

  ·权限提升漏洞

  黑客攻击者可以利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。漏洞可以在存储过程、内置函数、协议实现甚至是SQL语句中找到。

  例如,Oracle中一系列系统对象如PL/SQL包,缺省赋予了Public角色的执行权限,借助这些包执行注入了” grant dba to user”的函数或过程,或直接作为参数执行即可。有PUBLIC执行权限的包共计30多个,例如:ctxsys.driload.validate_stmt()将grant语句作为参数即可完成权限提升。

  例如,在SQL Server中,通过Job输出文件覆盖,没有权限的用户可以创建job并通过SQL Server代理的权限提升执行该job。

  例如,一个金融机构的软件开发人员可以利用有漏洞的函数来获得数据库管理权限。使用管理权限,恶意的开发人员可以禁用审计机制、开设伪造的账户以及转账。

(责任编辑:)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部