数据库安全教材.

上传人:最**** 文档编号:117012355 上传时间:2019-11-18 格式:DOC 页数:54 大小:1.04MB
返回 下载 相关 举报
数据库安全教材._第1页
第1页 / 共54页
数据库安全教材._第2页
第2页 / 共54页
数据库安全教材._第3页
第3页 / 共54页
数据库安全教材._第4页
第4页 / 共54页
数据库安全教材._第5页
第5页 / 共54页
点击查看更多>>
资源描述

《数据库安全教材.》由会员分享,可在线阅读,更多相关《数据库安全教材.(54页珍藏版)》请在金锄头文库上搜索。

1、数据库安全培训教程 (教程编写:王亮 )一 、 数据库简介21.1 数据库技术发展概况21.2 数据库基本概念21.3 数据库应用系统结构21.4 SQL语言简介3二、MySQL数据库漏洞及利用52.1 MySql的常用命令及工具52.1.1 Mysql常用命令52.1.2 Mysql常用工具62.1.3 图形化界面的mysql工具72.2 Mysql的常见攻击手段82.2.1 利用MYSQL漏洞修改数据库82.2.2巧妙利用Mysql漏洞获取主机控制权限82.2.3针对WINDOWS系统的MYSQL特殊攻击142.2.4 巧妙通过搜索引挚获取数据库密码142.2.5 MYSQL的安全配置20

2、2.3案例分析:收获的日子20三 、 MSSQL的常见攻击手法和安全防范303.1 MSSQL数据库基础知识303.2 MSSQL数据库的常见攻击手法353.2.1 MSSQL的常用黑客工具353.2.2 MSSQL口令的算法脆弱性373.2.3 MSSQL的脚本插入漏洞403.2.3 MSSQL扩展存储的安全问题443.2.4 MSSQL的安全配置46四 .ORACLE 数据漏洞及利用484.1 连接Oracle数据库的工具,及常用的命令494.2 Oracle的默认口令与密码524.3 Oracle漏洞扫描工具53一 、 数据库简介1.1 数据库技术发展概况数据库技术是计算机科学技术中发展

3、最快的重要分支之一,它已经成为计算机信息系统和应用系统的重要技术支柱。在短短的30多年里,它从第一代的网状、层次数据库技术和第二代的关系数据库技术,发展到第三代的面向新一代应用的数据库技术。1.2 数据库基本概念数据库是指有组织的、动态地存储在辅助存储器上,能为多个用户共享的、与应用程序彼此独立的一组相互关联的数据集合。它是由DBMS(数据库管理系统)统一管理,多用户共享。数据库管理系统DBMS是一种对数据库进行统一管理和控制的系统软件。它是为建立、使用和维护数据库而设计的数据管理软件。目前比较流行的有如:MySql,Oracle、SQLServer、等目前流行的数据库系统中应用最为普遍的是关

4、系数据库,它也是最有效率的数据组织方式之一。在关系数据库里,所有数据都按表进行组织和管理。关系数据库里,表容纳着对个人或对企业至关重要的数据。每张表都由列和行组成,每一列表示有关表格描述对象的一个属性;每一行数据则表示信息描述对象某一个具体实例的所有属性。在关系数据库中一般使用“事务”来处理用户提交的修改表格和数据的操作。“事务”是一次性完成的一组数据库操作。事务中的操作可以互相独立的,但事务中规定:事务中的所有操作要么全部执行成功,要么全部不执行。关系数据库一般都按照先写日志的方法进行事务操作,即在实施事务之前先将要进行的操作记录进日志,再进行实际的数据库修改。1.3 数据库应用系统结构下面

5、是一个典型的数据库应用系统结构:操作系统DBMS数据库应用程序系统数据文件,数据字典,索引,统计数据索引,统计数据对数据库进行管理、操作执行物理文件的读写操作提供友好的界面,帮助用户完成对数据的处理我们再来看看一个基于数据库的Web服务器典型应用:n 文本和其他多媒体信息保存在数据库中;n 客户端请求服务器执行一个CGI程序或Script语言码。HTTP请求(表单)服务器端数据库HTTP回应(数据库数据)SQLODBCSQL客户端那么什么是SQL语言,如何利用SQL操作数据库呢?1.4 SQL语言简介SQL(Structured Query Language,结构化查询语言)最早源于IBM,由

6、ANSI(美国国家标准局)确认的关系型数据库语言的标准。是对关系型数据库中的数据进行定义、修改、控制及查询的语言标准。SQL 语言的功能包括查询(Query)、操作(Manupulation)、定义(Definition)和控制(Control)4个方面。SQL语言即可以作为独立的语言供终端客户联机使用,也可以作为宿主型语言嵌入到其它高级程序语言中使用。SQL 语言包含4个部分: 数据查询语言DQL-Data Query Language SELECT 数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 数据定义语言DQL-D

7、ata Definition Language CREATE, ALTER, DROP 数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK以下是常用语句的使用语法:1) 用SELECT语句从表中提取查询数据。语法为SELECT DISTINCT column1,column2, FROM tablename WHERE conditions GROUP BY conditions ORDER BY expressions ASC/DESC;说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中

8、检索数据。2) SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。3) ORDER BY 子句ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。4) UPDATE tablename SET column1=expression1,column2=expression2, WH

9、ERE conditions;例如:S QLUPDATE EMPSET JOB =MANAGERWHERE ENAME=MAPTIN;SQL SELECT * FROM EMP;UPDATE子句指明了要修改的数据库是EMP,并用WHERE子句限制了只对名字(ENAME)为MARTIN的职工的数据进行修改,SET子句则说明修改的方式,即把MARTION的工作名称(JOB)改为MARAGER.5) INSERT INTO tablename column1,column2, VALUES expression1,expression2,;例如:SQLSELECT INTO DEPT(DNAME,

10、DEPTNO)VALUES (ACCOUNTING,10)6) DELETE FROM tablename WHERE conditions;例如:SQLDELETE FROM EMPWHERE EMPNO = 7654;DELETE命令删除一条记录,而且DELETE命令只能删除整行,而不能删除某行中的部分数据.下面我们将介绍几种主流的数据系统(如:MySql,MSSQL,Oracle)的安全隐患漏洞,及其利用方法:二、MySQL数据库漏洞及利用MySQL是一个广受人们喜爱的半商业的小型数据库。由于其价格低,在一般中小型网站中使用很广。MySQL可以运行在大多数的Linux平台,及Window

11、s环境下。2.1 MySql的常用命令及工具2.1.1 Mysql常用命令Mysql 服务默认端口是 TCP 3306。我们可以使用mysql的客户端去连接,以下命令都是我们在利用Mysql 漏洞所需要掌握的:1)获取所有的用户名与密码:输入 select * from mysql.user; 就可以获取用户名列表与密码;2)获取所有的数据名:输入 show databases; 可以获取所有数据库名;其中 mysql 和 test 是默认的两个数据库名。3)获取指定数据库名中的所有内容Mysqluse database (上面获取的具体的数据库名);Mysql show tables; (获

12、取此数据库中所有的表名)Mysql select * from table;(根据上一步获取的表名,显示指定表中所有的信息)4)显示数据表的结构:describe表名;5)建库:createdatabase库名;6)建表:use库名;createtable表名(字段设定列表);7)删库和删表:dropdatabase库名;droptable表名;8)将表中记录清空:deletefrom表名;9)插入字段insertinto表名 values 具体的值 ;2.1.2 Mysql常用工具1远程连接Mysql工具使用不需要安装的mysql-clientmysql -h202.120.64.xxx -

13、u root p root其中 u 是用户名,-p 是密码(为空时就不用),-P 是指定端口(默认3306, 就不用设置)如果登陆成功,就会返回Mysql2. 破解mysql密码工具使用工具mysqlfast,当我们登陆mysql后,可以轻松获取其加密的密码值如:Mysqlselect * from mysql.user;我们利用mysqlfast,能够很快的本地破解出其密码,如:2.1.3 图形化界面的mysql工具supermysql-v1.6 是一个window下的图形化界面的Mysql信息获取工具。它使用较为方便,当我们想经常从mysql获取信息的话,这是一个不错的工具。如下图:2.2

14、 Mysql的常见攻击手段mysql默认安装下的root口令为空,虽然有部分管理员更改了root密码但还是有相当部分的mysql口令是弱口令。我们就利用这个安全隐患,针对不同的操作系统进行模拟攻击。2.2.1 利用MYSQL漏洞修改数据库2.2.2巧妙利用Mysql漏洞获取主机控制权限思路:由于很多主机都是脚本前台,接受外部的数据提交,后台是数据库,数据库处理提交的数据并向脚本输出结果。我们可以利用mysql默认安装的root口令为空,登陆mysql,写一个web shell脚本到web目录,这样我们访问这个脚本就可以获取其系统权限了。正文:192.0.34.166只开放80,3306两个端口。利用软件扫描得知仅存在一个mysql的root账号密码为空的漏洞和/scripts/,/_vti_bin/两个虚拟目录,现在进行一次入侵实验:打开cmd,输入以下命令(如图1):(图1)现在在上它的主页看看(如图2):(图2)结果失败了,这是为什么呢?注意看以上的出错信息吧,原来这个scripts虚拟目录没有开设访问权限!不过还有个vti_bin虚拟目录可以试,经过测试,发现(图3)/_vti_bin/这个虚拟目录是有读取权限的(如图3),顺便再看看http:/192.0.34.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号