试题一(共20分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某企业的网络拓扑图如图1-1所示,企业要求对公司内部信息系统安全等级进行测评。图中,网站服务器的IP地址是192.168.70.140,邮件服务器的IP地址是192.168.70.141。从运营商获取固定地址202.114.58.22。王工是该企业的信息安全管理员。
刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
试题一(共20分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某企业的网络拓扑图如图1-1所示,企业要求对公司内部信息系统安全等级进行测评。图中,网站服务器的IP地址是192.168.70.140,邮件服务器的IP地址是192.168.70.141。从运营商获取固定地址202.114.58.22。王工是该企业的信息安全管理员。
(2)B
(3)程序崩溃导致拒绝服务、跳转并且执行一段恶意代码
(4)利用编译器的边界检查,来实现缓冲区的保护、在程序指针失效前进行完整性检查、通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码、强制写正确的代码的方法等等。
(1)根据提供的代码,我们可以看到在验证密码的函数verify_password中,密码被存储在一个字符数组buffer[8]中,但是没有任何对输入长度进行检查的机制。这意味着如果输入的密码超过7个字符,那么就会造成缓冲区溢出,这就是一个明显的安全漏洞。
(2)对于密码的输入,由于buffer的大小为8,并且在C语言中字符串是以’\0’(空字符)结尾的,因此当输入"12345678"时,最后一个字符会是’\0’,正好可以填满buffer并且把null写入int authentication中,将0x00000001修改为0x00000000,从而通过验证。所以王工最有可能输入的密码是B选项。
(3)这种缓冲区溢出漏洞的危害很大。攻击者可以利用这个漏洞使程序崩溃,导致拒绝服务;更危险的是,攻击者可以通过修改返回地址,使程序跳转到任意地址并执行恶意代码,从而获得系统的控制权。
(4)为了预防这种漏洞带来的危害,可以采取以下措施:利用编译器的边界检查功能来防止缓冲区溢出;在程序指针失效前进行完整性检查,防止被篡改;通过操作系统设置使缓冲区不可执行,阻止攻击者植入攻击代码;此外,编写正确的代码,避免使用危险的函数和编程习惯也是非常重要的。
本文链接:王工发现公司内部信息系统存在安全漏洞,请分析密码验证阶段存在的漏洞类型。
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!
