您当前位置:优侠库 > 资讯攻略 >
来源:未知
2020-03-12 09:18:56 浏览: 分类:资讯攻略

黑客狙击Oracle系统的常用套路

甲骨文的销售人员一直在向客户吹嘘其数据库系统牢不可破,说起来容易,兑现起来却不那么容易。无论什么计算机系统,人们总能找到攻击它的方法,甲骨文也不例外。本文将从黑客的角度与你探讨黑客用什么方法到达你认为他们无法触及的数据。我希望作为Oracle的数据库管理员,我可以清楚地阐明我的基础架构的哪些方面容易受到攻击。同时,我们还将讨论保护系统免受攻击的方法。

1.SQL注入攻击

如今,大多数Oracle数据库都有后端数据存储区,为某种类型的网络应用程序服务。Web应用程序在三个方面使数据库更容易成为我们的目标。首先,这些应用程序接口非常复杂,有许多组件,这使得数据库管理员很难彻底检查它们。第二,防止程序员入侵的壁垒很低,即使不是C语言编程高手,也可以攻击一些页面。下面我们将简要解释为什么这对我们如此重要。第三个原因是优先级的问题。网页一直处于发展的模式,所以它们在不断地变化和推陈出新。这样,安全性就不是首要问题了。

SQL注入攻击是一种非常简单的攻击,在页面形式中输入信息,悄悄加入一些特殊代码,诱导应用程序在数据库中执行这些代码,并返回一些意想不到的结果。例如,有一个用户登录表单需要用户名和密码才能登录。在用户名列中,输入以下代码:

cyw’);从所有用户中选择用户名和密码。-

如果数据库程序员不够聪明,没有检查出类似的信息并“清理”掉我们的输入,那么代码将在远程数据库系统中执行,然后关于所有用户名和密码的敏感数据将返回到我们的浏览器。

你可能认为这是危言耸听,但事实并非如此。David Litchfield在他的《Oracle黑客手册》一书中,将一种特殊的pl/sql注入攻击称为“圣杯”,因为它杀死了从Oracle 8到Oracle10g的所有Oracle数据库版本。我想知道它是如何工作的。可以使用一个名为DBMS_EXPORT_EXTENSION的包,通过注入攻击获取执行异常处理程序的代码,这将赋予用户或所有相关用户数据库管理员的权限。

这就是Oracle发布的著名安全升级补丁Security Alert 68针对的漏洞。然而,根据利奇菲尔德的说法,这些漏洞永远无法完全修复。

防止此类攻击的方法

综上所述,虽然没有万能的防弹衣,但还是要尽力预防,因为这个问题涉及到所有面向网络的应用软件。目前,市场上有各种SQL注入检测技术。可以参考http://www.securityfocus.com/infocus/1704's系列文章的详细介绍。

您还可以使用不同的入侵检测工具来检测不同级别的SQL注入攻击。访问专门从事Oracle安全研究的皮特·芬尼根的安全网站http://www.petefinnigan.com/orasec.htm,,并搜索“sql注入& quot,可以获得更多相关信息。皮特·芬尼根曾经在他的博客上报道过,史蒂文·弗尔斯坦(Steven Feurstein)目前正在编写一个名为sql Guard的pl/sql包,专门用于防止SQL注入攻击。详情请参考以下http://www.petefinnigan.com/weblog/archives/00001115.htm.网页

对于软件开发者来说,许多软件包可以帮助你“清洗”输入的信息。如果您调用清理例程来处理从页面表单接收到的每个值,它将更好地保护您的系统。不过最好使用sql注入工具对软件进行测试验证,确保万无一失。

1.默认密码

Oracle数据库是一个庞大的系统,它提供了一个可以创造一切的模型。大部分系统自带的登录用户都配有预设的默认密码。你知道数据库管理员工作够不够努力吗?这里有一个方法可以找到答案。我们来看看下面这些常用的预置用户名和密码是否可以登录数据库:

用户名密码
applsys apps
CTX sys change _ on _ install
dbsnmp dbsnmp
outln outln
OWA OWA
perfstat perfstat
Scott tiger
system change _ on _ install
系统管理器
sys change _ on _ install
系统管理器

即使数据库管理员已经努力更改了这些默认配对,有时也不难猜出登录密码。一个接一个地尝试“oracle & quot、quotoracle4 & quot、quotoracle8i & quot、quotoracle11g & quot看看有没有能登陆的。

皮特芬尼根提供了一个默认用户和相应的密码列表,这是非常全面和最新的,并包括加密的密码。如果使用all_users进行查询,可以尝试对比一下这个列表。详细列表请参考:http://www.petefinnigan.com/default/default _密码_ list.htm。

防止此类攻击的方法

作为数据库管理员,您应该定期审核所有数据库密码。如果一些商业上的障碍使你无法轻易更改容易被猜到的密码,你可以试着心平气和地向相关人员解释,用一些直观的例子来说明不更改密码会有什么不好的后果,会存在什么风险。

Oracle还提供了密码安全配置文件,您可以激活该文件以在一定程度上加强数据库密码的复杂性,您还可以定期执行密码失效。请注意,这个函数应该设置为仅对通过网络服务器或中间层应用服务器登录的事件有效。

2.暴力攻击

蛮力攻击,顾名思义,就是不停的撬,直到“锁”开的方法。对于Oracle数据库来说,就是使用一些自动化的过程来尝试所有的字母数字组合来破解用户名和密码。

Unix管理员可以使用名为“开膛手约翰”的密码破解软件来实施这种攻击。现在,如果你下载一个补丁,你也可以用这个软件用蛮力攻击甲骨文,破解它的密码。但是,根据密码的复杂程度,这可能是一个耗时的过程。如果想加快这个过程,可以提前准备一个包含所有密码加密的表。这样的表格叫做彩虹表,你可以为每个用户名准备不同的彩虹表,因为这种密码加密算法是把用户名作为助燃剂。这里就不多赘述了。你可以向http://www.antsight.com/zsl/rainbowcrack/了解更多信息。

Oracle server的默认设置是,如果密码输入错误十次,特定帐户将被自动锁定。但是通常“sys as sysdba & quot没有权限限制。这可能是因为如果你锁定了管理员,所有人都会被锁定。这种设置为我们的黑客软件(OraBrute)打开了一条通路,他们会没日没夜地敲你数据库的前门,直到它悄然打开。

本文链接:http://www.123down.cn/gonglue/227223.html

攻略资讯
安卓软件