一、简答题(共18分)(共6个小题,任选三个做)

1、简述什么是网络安全的最终目标。(6分)

网络安全的最终目标是保证信息的保密性、完整性、可用性。

2、简述缓冲区溢出的防范方法。(6分)

缓冲区溢出攻击占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权。如果能有效地消除缓冲区溢出的漏洞,则很大一部分的安全威胁可以得到缓解。 目前有三种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响: 1、通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码; 2、强制写正确的代码的方法; 3、利用编译器的边界检查来实现缓冲区的保护,使得缓冲区溢出不可能出现,从而完全消除了缓冲区溢出的威胁。

3、试述Web应用程序分为哪三层?三层结构各起什么作用?这种结构有什么好处?(6分)

分为表示客户浏览器(表示层)/Web服务器(应用层)/数据库(Browser/Server/Database)。作用:在表示层客户通过Web浏览器向中间Web应用服务器发出HTTP请求,Web应用服务器通过对客户端的请求进行身份验证然后对于合法的用户请求进行处理并与数据库进行连接进而获取或保存数据并将从数据库获得的数据返回客户端浏览器。好处:在这种结构下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端浏览器实现,主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护成本和工作量。

4、什么是堆栈保护,堆栈保护的原理是什么?(6分)

堆栈保护是一种提供程序指针完整性检查的编译器技术。通过检查函数活动记录中的返回地址来实现。堆栈保护作为gcc的一个小的补丁,在每个函数中,加入了函数建立和销毁的代码。加入的函数建立代码实际上在堆栈中函数返回地址前面加了一些附加的字节。而在返回函数时,首先检查这个附加的字节是否被改动过,如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。

5、什么是CGI技术?使用GCI的原因是什么?CGI的常用步骤是什么?(6分)

CGI是Commom Gateway Interface的缩写,是用于连接主页和应用程序的接口。使用CGI的原因在于它是一个定义良好并被广泛支持的标准,没有CGI就不可能实现动态的Web页面,除非使用一些服务器中提供的特殊方法(如今,也有除CGI之外的其他技术逐渐在成为标准)。CGI的处理通常包括四步:

(1) 通过Internet把用户请求送到服务器。

(2) 服务器接收用户请求并交给CGI程序处理。

(3) CGI程序把处理结构传送给服务器。

(4) 服务器把结果送回到用户。

6、Iptable作为Linux平台下的包过滤防火墙包含三要素是什么,试述三要素的各自内涵。(6分)

三要素:防火墙的基本功能;企业的特殊要求;与用户网络相结合。

内涵:防火墙系统可以说是网络的第一道防线,因此一个企业在决定使用防火墙保护内部网络的安全时,它首先需要了解一个防火墙系统应具备的基本功能,这是用户选择防火墙产品的依据和前提;企业安全政策中往往有些特殊需求不是每一个防火墙都会提供的,这方面常会成为选择防火墙的考虑因素之一,大部分防火墙都可以与防病毒软件搭配实现扫毒功能,有的防火墙则可以直接集成扫毒功能,差别只是扫毒工作是由防火墙完成,或是由另一台专用的计算机完成;好的防火墙还应该向使用者提供完整的安全检查功能,但是一个安全的网络仍必须依靠使用者的观察及改进,因为防火墙并不能有效地杜绝所有的恶意封包,企业想要达到真正的安全仍然需要内部人员不断记录、改进、追踪。防火墙可以限制唯有合法的使用者才能进行连接,但是否存在利用合法掩护非法的情形仍需依靠管理者来发现。

二、实践题(共58分)(此题要求对关键实验步骤截图并予以针对性说明)

1、什么是ARP高速缓存表?一个刚进入网络的主机ARP缓存表是如何更新的?查看自己计算机的ARP缓存表并截图。(8分)

ARP是一种将IP地址转化成物理MAC地址的协议,通过查找ARP缓存表来实现转化。在每张ARP高速缓存表中,都包含了所在局域网上的各主机和路由器的IP地址到硬件地址的映射。ARP缓存表具有动态更新的特性,随着计算机不断发出ARP请求和收到的ARP响应而不断更新。

image-20210707182130959

使用arp -a命令查看本机arp表

2、使用ping命令发送指定数量的Echo报文。(6分)

image-20210707182149825

使用ping -n count 要发送的回显请求数,此处设置为9

3、采用nmap测试目标主机的系统类型。使用nmap对目标主机的445号端口进行全连接扫描,并列出扫描过程的详细信息。(说明实验步骤并截图标,在图中标出实验结果)(12分)

1.使用nmap -O 测试目标主机的系统类型

image-20210707182237504

得到了目标主机的系统为windows系列

2.使用nmap -sT进行TCP connect()端口扫描,并指定端口为445

image-20210707192436224

445端口filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

4、使用站长之家(http://whois.chainaz.com) 对新浪,百度等(或自选域名)域名进行DNS Whois查询,再根据查询到的注册人、注册人邮箱和注册人手机电话等信息进行whois反查;使用全球Whois查询(http://www.whois365.com/cn) 对某大学(自选)主页进行IP Whois查询,然后使用站长之家(http://whois.chinaz.com)提供的IP反查域名信息功能对域名信息进行反查(10分)

image-20210707192746215

在站长之家对域名zhengyulong.top进行whois查询

image-20210707192825216

根据查询到的注册人电话进行电话反查

image-20210707192856840

对东秦主页进行进行IP Whois查询

image-20210707192916377

使用查到的IP在站长之家IP反查

5、在Windows操作系统下cain或Linux操作系统下的ether app等工具实现ARP欺骗攻击。(8分)

image-20210707193024604

在ettercap中选择Ubuntu为目标1,网关作为目标2

image-20210707193101878

可以看到在Ubuntu虚拟机中的ARP缓冲表里,网关的MAC地址就变成了bt5虚拟机的MAC地址。ARP欺骗成功

6、使用hping3发起SYN flooding 攻击,使用wireshark的流向图功能来分析SYN flooding攻击。(8分)

image-20210707193323171

观察可以发现,源地址已经被伪装成了19.16.1.1,其bt5攻击端的IP192.168.47.129被隐藏了起来,被攻击端Ubuntu的IP为192.168.47.128,从时间和包的序号上来看,可以看出基本上是按照设定的1000微秒也就是每1ms发送1个SYN包,初步判断攻击成功。也可以看到端口为80,也是命令行中设置的端口。

image-20210707193337370

流量类型选择TCP,从图中可以看到有伪造的IP地址19.16.1.1向被攻击端192.168.47.128发送了大量的TCP SYN报文

7、在metasploit framework平台上进行ms08-067漏洞溢出攻击实验,或进行其他类似漏洞攻击实验。(6分)

image-20210707193400226

使用ms08_067漏洞攻击程序

image-20210707193437768

完成渗透攻击模块与攻击载荷模块的选择

image-20210707193501651

攻击机配置和目标机配置

image-20210707193513380

攻击成功,并运行虚拟网络控制台,实现对靶机的控制

三、论述题(共3个题,任选两个做,每题6分,共12分)

1、论述网络攻击的目标是什么?黑客攻击步骤及各步骤所采用方法。(6分)

网络攻击的主要目标是网络服务器。

步骤:隐藏攻击源、信息搜集、掌握系统控制权、实施攻击、安装后门、清除攻击痕迹。

方法:探测攻击、网络监听、解码类攻击、未授权访问尝试、缓冲区溢出、伪装攻击、电子欺骗攻击、WWW攻击、拒绝服务和分布式拒绝服务攻击、病毒攻击。

2、简述SQL注入的实现过程及SQL注入的检测与防范方法。(6分)

本质:SQL注入攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,由于在服务器端未经过严格的有效性验证,而欺骗服务器执行恶意的SQL命令。

实现过程:1、寻找SQL注入点;2、获取信息;3、实施控制。

防范:主要从接收的客户端数据进行有效性验证入手。

(1) 过滤特殊字符以及空格。

(2) 过滤关键字,如and、select、update、insert、delete等。

(3) 禁止外部提交表单,提交表单时最好使用POST方式。

(4) 屏蔽出错信息。

(5) 尽量使用复杂和难以猜解的表明和字段名,不要与用户登录界面里面的各种元素名相似。

(6) 使用MD5加密数据库密码等敏感信息字段,即密文=md5(明文)。

3、简述跨站脚本攻击的实现过程。(6分)

(1)攻击者搜集感兴趣的目标站点。这些目标站点必须是合法用户正常登录,并且攻击者可以通过Cookies以及会话Session追踪合法用户的行为。

(2)攻击者在站点上搜索带有XSS漏洞的页面。

(3)诱惑其他用户点击连接。攻击者创建一个链接指向第二部中确定的页面,将该链接写入Email或某个正常网站的页面,利用社会工程学等方法,诱惑所有的目标用户点击。

(4)在创建的链接中嵌入了恶意代码,可以将受到攻击主机的Cookies传递给攻击者。

(5)攻击者获取被攻击用户Cookie的备份。

(6)攻击者利用Cookie文件获取被攻击用户的信息,以被攻击用户的身份登录站点。

四、发挥题(共2题,每题6分,共12分)(此题要求对关键实验步骤截图并予以说明)

1、根据网络安全课程中各类网络攻击方式的学习,试论述在以后的学习工作中如何维护自己计算机的网络安全?(6分)

(1)采用强力的密码。一个足够强大的密码可以让暴力破解成为不可能实现的情况。相反的,如果密码强度不够,几乎可以肯定会让你的系统受到损害;

(2)确保核心的安全。在自己离开的时间,务必确保无线路由器或连接到无线网络上正在使用的笔记本电脑上运行了有效的防火墙;

(3)浏览健康安全的网站,避免木马和病毒肆机而入

(4)加强网络安全意识,辨别伪装真假。

(5)在个人电脑中,对重要的材料进行网络加密,防止泄露。

(6)安装知名杀毒软件,比如360安全卫士等等,定期对电脑进行木马查杀。

(7)在学习和生活中要绿色上网,健康上网,只要遵守上网规则,网络安全才有最切实的保障。

2、自己上网查找资料实现任意一个网络攻击实例。(6分)

用medusa工具破解Linux的登录密码

image-20210707193542985

用vim新建字典文件passwd.txt

image-20210707193556085

-h指定主机号为192.168.0.100,-u指定用户名为root,-P指定字典,-M指定破解协议为ssh

image-20210707193611868

可以看到最后密码破解成功,为owaspbwa,正确