阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某MOOC(慕课)教育平台欲开发一基于Web的在线作业批改系统,以实现高效的作业提交与批改并进行统计。系统页面中涉及内部内容的链接、外部参考链接以及邮件链接等。页面中采用表单

admin2016-11-13  29

问题 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某MOOC(慕课)教育平台欲开发一基于Web的在线作业批改系统,以实现高效的作业提交与批改并进行统计。系统页面中涉及内部内容的链接、外部参考链接以及邮件链接等。页面中采用表单实现作业题目的打分和评价,其中打分为1~5分制整数,评价为文本。
系统要支持:
    (1)在特定时期内300个用户并发时,主要功能的处理能力至少要达到16个请求/秒,平均数据量16kB/请求;
    (2)系统前端采用HTML5实现,以使用户可以通过不同的移动设备的浏览器进行访问。
【问题4】
设计4个打分和评价的测试输入,考虑多个方面的测试,如:正确输入、错误输入、XSS、SQL注入等测试。

选项

答案(1)打分为任何在1~5范围内的数字,评价为任意文本; (2)打分为任何在1~5范围外的数字,评价为任意文本; (3)打分和评价其中任一字段包含HTML标签,如:<HTML>,<SCRIPT>等; (4)打分和评价其中任一字段包含SQL功能符号,如包含’,OR、’--、2015’OR‘1’=‘1’等。

解析 本题考查Web应用测试的输入方面,包括输入的不同情况、安全性方面的SQL注入和XSS跨站攻击。
    打分和评价的测试输入应该考虑分值的取值范围之内和之外以及文本中的内容:
    (1)打分为任何在1~5范围内的数字,评论为任意文本;
    (2)打分为任何在1~5范围外的数字,评论为任意文本;
    输入的内容中输入符号可能会传到后台引起安全问题。
    许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储的数据、将输入数据存储到数据库(如用户输入表单中数据域并点击提交后,系统将信息存入数据库)等操作。在有些情况下,将用户输入的数据和设计好的SQL拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,就给恶意用户提供了破坏的机会,即SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。SQL注入在使用SSL,的应用中仍然存在,甚至是防火墙也无法防止SQL注入。因此,在测试Web应用时,需要认真仔细设计测试用例,进行认真严格的测试,以保证如果存在SQL注入可以及早发现。
    本系统测试时,设计测试如为:对打分和评价中任一字段设计包含SQL功能符号,如包含‘,OR、’--、2015’OR‘1’=‘1’等,检查结果是否造成注入问题。
    许多Web应用系统在某些情况下,接收页面上传的内容,并入新页面,作为新页面的内容。例如,在本系统中进行打分和评论后,学生查看时显示分值和评价的内容。如果用户可以输入如下带有HTML标记的内容:

    即新用户所看到的网页中显示Click me!,当用户鼠标移过此文字时,就会弹出窗口(左侧为Chrome弹出,右侧为IE9直接给出的提示窗口,多次鼠标滑过操作Chrome提示窗口多了一行浏览器对阻止这类代码的创建新窗口的选项,Firefox类似):

    而如果这类代码都可以执行,就存在被真正恶意攻击者攻击的可能,而且可能造成各类安全问题。所以网站提交代码中的任何脚本、页面功能符号都不应该被直接接受以作为功能符号在后续使用。所以测试时需要考虑设计包含HTML标记符、脚本等测试输入,如<HTML>、<script>、<b>等功能符号。
转载请注明原文地址:https://kaotiyun.com/show/EzPZ777K
0

最新回复(0)