刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题三(共25分)

阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。

案例一:

2021年7月,河南遭遇极端暴雨天气,多个数据中心受到汛情影响,机房停止服务。河南移动枢纽机房断电,无法正常办理移动业务;海腾郑州BGP机房、华中郑州市BGP机房等数据中心因所在区域市电中断超过1、2个小时,机房由柴发带载,附近油站因道路积水暂时无法供油到机房,在出现电力中断前,考虑到用户数据安全,临时中断服务。

案例二:

张同学收到某银行官方号码“95XXX”发来的短信,提示她银行卡积分将于近期到期,建议尽快登录某网站兑换礼品,并附上了网站链接。张同学完全没有质疑该网址的可靠性,直接通过手机登录,并按照要求输入了个人信息、账号及密码。不久,她就收到银行发来的短信,提示她的银行卡被取现4000元。

案例三:

某公司网站有如下服务:

http://duck/index.asp?category=food

其后台对应的web程序如下:

v_cat = request(“category”)

Sqlstr=”SELECT * FROM product WHERE Category=’”& v_cat &”’”

Set rs=conn.execute(sqlstr)

阅读案例三,回答问题。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)能够查询到数据库product表的所有信息。

(2)存在SQL注入攻击漏洞;

(3)防范措施:启用WAF防火墙;设置应用程序最小化权限;过滤关键字或特殊字符;限制数据类型;正则表达式匹配传入参数;函数过滤转义;预编译语句;对服务器进行漏洞扫描并进行安全加固;数据库加密等等。

解析:

第一问:根据提供的案例三中的web程序,恶意的用户可以通过提交特定的URL,如http://duck/index.asp?category=food'or 1=1–,来绕过正常的验证机制。这里的“or 1=1”是一个常见的SQL注入攻击手法,它使得数据库查询的条件始终为真,从而返回所有产品信息。

第二问:根据案例三的web程序中的SQL查询语句,可以看到它直接从用户输入中获取category参数并拼接到SQL查询语句中,这样的设计使得攻击者可以通过输入特定的值来操纵SQL查询,因此存在SQL注入攻击漏洞。

第三问:针对上述攻击的防范方法有多种。首先,启用WAF防火墙可以阻挡一部分攻击。其次,对应用程序输入进行安全过滤,例如过滤掉可能导致注入的特殊字符。再次,设置应用程序的最小化权限,确保应用程序无法执行超出其权限范围的操作。此外,屏蔽应用程序错误提示信息可以防止攻击者利用错误信息推测数据库结构。对开源Web应用程序进行安全适应性改造也是必要的。其他方法还包括过滤关键字或特殊字符、限制数据类型、使用正则表达式匹配传入参数、函数过滤转义、使用预编译语句等。同时,对服务器进行漏洞扫描并进行安全加固,以及数据库加密也是重要的防范措施。

创作类型:
原创

本文链接:阅读案例三,回答问题。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share