数据库服务器攻击
一、数据库服务器基础
1.1 数据库服务器介绍
数据库服务器是指装有数据库的服务器,通常用于Internet和Intranet(企业内部网),常用的数据库软件有Oracle、DB2、Microsoft SQL Server、Mysql、Sybase等。数据库在Internet上的应用通常是作为网站数据的存储数据库。
数据库的定义:通俗的说数据库就是存储数据的一个集合。其他的定义如:“数据库是人们为解决特定的任务以一定的组织方式存储在一起的相关数据的集合”、“数据库是按照数据结构来组织、存储和管理数据的仓库”等
数据库的基本结构:物理数据层、概念数据层、逻辑数据层
数据库的特点:1.实现数据共享;2、减少数据的冗余度;3、数据的独立性;4、数据实现集中控制;5、数据一致性和可维护性
数据库模型:层次结构模型、网状结构模型、关系结构模型。
主要的数据库安全漏洞:利用安全漏洞攻击、口令破解攻击、,,,注入攻击、数据库直接连接攻击、数据库信息列举、利用网站程序攻击、特权提升攻击
,(利用安全漏洞:
数据库的安全漏洞是不可避免的,我们经常会看到数据库厂商向广大厂商公布安全更新补丁。数据库漏洞攻击有多种方式,如远程代码执行、溢出漏洞、特权提升漏洞等。攻击者可以利用Metasploit等工具软件直接对数据库实施攻击,当然也可以使用专门的漏洞利用工具。
,(口令破解攻击:
攻击者可以通过破解数据库管理员的密码进入数据库的服务器,因为大多书情况下数据库的默认管理员用户名是不会更改的,如SQLServer的管理员是SA,这就给入侵者以可乘之机,他们可以通过字典或者暴力破解方式对数据库管理员的密码进行破解。
;(SQL注入攻击:
SQL注入攻击主要是通过脚本来实施攻击。目前针对数据库的注入攻击很少见,大多数是通过Web页面对数据库实施的注入攻击,流行的注入工具有很多。如啊D、NBSI等。
,(数据库直接连接:
数据库的正常使用必须要开放相应的端口,如SQLServer数据库开放的1433端口,这些端口在互联网上都可以通过扫描工具探测到。如果没有对IP地址做限制或没有通过防火墙阻止外界用户访问数据库的端口,则在互联网上的任何用户都可以与该端口进行连接,SQLSlammer蠕虫就是针对SQL服务器的漏洞实施攻击的,攻击的前提是要连接数据库的开放端口,这些攻击能够导致拒绝服务、环城区溢出和其他类型的攻击。
,(数据库信息列举:
通过数据库扫描工具可以得到数据库的一些敏感信息,如数据库类型、版本号、补丁更新日期等,这些敏感信息会对攻击者实施攻击带来很大的方便。如Chip Andrew的“SQLPing”就可以用来查看,,,服务器系统、查看数据库实例及确定版本号等。
,(利用网站程序攻击
现在越来越多的数据库被用于,,,后台数据存储,然而网站程序的不安全性却给数据库带来了非常大的安全隐患,网站源程序的泄露可以直接导致数据库暴库攻击和数据库的口令泄露,攻击者得到了数据库的完全访问权就可以进一步入侵数据库服务器的主机系统。
,(特权提升攻击
特权提升也是数据库攻击中常见的一种攻击方式,特权提升的攻击可以分为SQL注入特权提升和本地特权提升。任何能够动态生成、执行SQL查询的组件,理论上都会受到,,,注入的影响。在那些存在动态组成的、执行字符串机制的数据库中,存储过程中的,,,
注入会造成危险。如果攻击者能够将,,,注入存储过程,他就能直接修改系统目录。本地特权提升的问题是由允许提升操作系统级特权的,,,所组成的。所有将数据库用户特权提升到操作系统用户特权的这一类问题也属于本地特权提升的问题。像,,,,,,,,,和,,,,,,的扩展存储过程机制(例如,,,,;,,,,,,,和,,,,,,,,,,)、,,,,,的,,,机制,它允许没有特权的用户加载任意库。