[计算机类试卷]2013年下半年软件水平考试(中级)软件评测师下午(应用技术)试题真题试卷及答案与解析.doc
《[计算机类试卷]2013年下半年软件水平考试(中级)软件评测师下午(应用技术)试题真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2013年下半年软件水平考试(中级)软件评测师下午(应用技术)试题真题试卷及答案与解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、2013年下半年软件水平考试(中级)软件评测师下午(应用技术)试题真题试卷及答案与解析 一、试题一( 15分) 0 阅读下列说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由 C语言编写的程序,按要求回答问题。 int XOR(char*filename, unsigned long key) FILE*input=NULL, output=NULL; 1 char*outfilename=NULL; int len=strlen(filename); unsigned char
2、buffer; if(filename1en一 2= ) (filename1en一 1=C) 2, 3 outfilename=new charlen+1; 4 strcpy(outfilename, filename); outfilenamelen一 2= 0; else /S outfilename=new charlen+5; strcpy(outfilename, filename); strncat(outfilename, “ C”, 2); input=fopen(filename, “rb”); if(input=NULL) 6 cout”Error opening fil
3、e”filenameendl; 7 deleteoutfilename; outfilename=NULL; return 1; output=fopen(outfilename, ”wb”); if(output=NULL) 8 cout”Error creating output file”outfilenameendl; 9 deleteoutfilename; outfllename=NULL; return 1; while(!feof(input) 1 0 if(fread( return 1; else /14 buffer=key; fwrite(平均数据量 8KB请求,即 D
4、=10KBs。 则:通信吞吐量 P=100108=8000KB s 10 【正确答案】 设计如下测试: (1)intClientSubmitScore: 100-, strStudentlD: 20130002,则该 SQL变为: UPDATE StudentScore SET score=100 一一 WHERE StudentID=20130002; (2)intClientSubmitScore: 100, strStudentlD: 20130002: DROP TABLE StudentScore-,则该 SQL语句变为: UPDATE StudentScore SET score=
5、100 WHERE StudentID=20130002; DROP TABLE StudentScore一 ; 从测试用例所拼接处的 SQL可以看出,该 SQL语句不安全,容易造成 SQL注入。 防止 SQL注入的方法主要有:拼接 SQL之前对特殊符号进行转义,使其不作为SQL语句的功能符号。 【试题解析】 本问题考查 Web应用安全性方面的 SQL注入, SQL注入是 Web应用安全性测试的重要方面。 许多 Web应用系统采用某 种数据库,接收用户从 Web页面中输入,完成展示相关存储的数据 (如检查用户登录信息 )、将输入数据存储到数据库 (如用户输入表单中数据域并点击提交后,系统将信息
6、存入数据库 )等操作。在有些情况下,将用户输入的数据和设计好的 SQL框架拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,从而给恶意用户提供了破坏的机会。即 SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。因此需要在测试 阶段进行认真严格的测试。 本系统实现时,对成绩更新所用的如下 8QL语句: “UPDATE StudentScore SET score=”+intClientSubmitScore+”WHERE Stuent_ID= “+StrSt
7、udentID+”; ” 采用拼接字符串方式,无法防止 SQL注入。例如 intClientSubmitScore: 100-,strStudentID: 20130002,则该 SQL变为: UPDATE StudentScore SET score=100一一 WHERE StuentID=20130002; 一是 SQL中注释符号,其后的内容为注释,这样上述语句中一之后的内容变为注释,只要 StudentScore表中所有的记录的 score都变为 100,而没有受到WHERE子句后的学号限制。 再比如 intClientSubmitScore: 100, strStudentID: 2
8、0130002ora=a,则该SQL变为: UPDATE StudentScore SET score。 100 WHERE StuentID=20130002ora=a; 因为 a=a条件总是成立,因此, SQL执行结果包括学生成绩表中所有行的score都更新为 100分。 更为严重的情况下,用户输入 DROP等功能性命令,会造成数据库表的永久删除等严重后果,如 strStudentID: 20130002; DROP TABLE StudentScore-,则该 SQL语句变为: UPDATE StudentScore SET score=100 WHERE StuentID=201300
9、02;DROP TABLE StudentScore-; 防止 SQL注入的方法主要有:拼接 SQL之前对特殊符号进行转义或者等价方式,使其不作为 SQL语句的功能符号。验证所有输入数据能从输入层面防止 SQL注入。 SQL注入在使用 SSL的应用中仍然存在,甚至是防火墙也无法防止 SQL注入。因此,在测试 Web应用时,需要认真仔细设计测试用例,采用 Web漏洞扫描工具等进行检查,以保证不存在 SQL注入机会。 四、试题四( 15分) 11 【正确答案】 对于故障恢复与容灾备份措施,应从以下三个方面进行测试 : 故障恢复:测试整个 ERP系统是否存在单点故障;任何一台设备失效时,能否按照预定
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2013 年下 半年 软件 水平 考试 中级 评测 下午 应用技术 试题 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-493115.html