代码安全机制与实现技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
代码安全机制与实现技术.doc

东华大学2008 ~ 2009 学年第 二 学期期终试题 踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负。 课程名称 代码安全机制与实现技术㈠ 判断题(每题2分,共20分。正确的√,错误的×) ⒈ SQL注入攻击易于实施,而且危害性大。 (√) ⒉ 安全性漏洞通常情况下不影响软件的正常功能。 (√) ⒊ word文档并非可执行文件,所以是安全的,不会导致恶意代码的执行。 (×) ⒋ 目前防火墙不能对SQL注入漏洞进行有效地防范。 (√) ⒌ 程序中的局部变量和函数返回地址都保存在系统栈。 (√) ⒍ 同一个API函数的入口地址在不同的操作系统中往往会有差异。 (√) ⒎ printf函数虽然是输出函数,但也可能被攻击者利用来修改函数返回地址,劫持进程,植入shellcode攻击代码。 (√) ⒏ 网站系统中,如果在用户输入数据的限制方面存在缺陷,将会使服务器变成SQL注入攻击和XSS攻击的目标。 (√) ⒐ 防范SQL注入攻击,关键是在客户端验证用户的输入。 (×) ⒑ 调用printf函数时,参数必须按照从左向右的顺序入栈。 (×) ㈡ 简答题(每题5分,共25分) ⒈ 向系统栈中压入数值0可以用一条 push 0 指令完成,但为什么shellcode的设计中却不能用 push 0,而要用xor ebx,ebx和push ebx 两条指令来实现? 答:之所以用ebx清零后入栈是为了避免“push 0”中的NULL,否则植入的shellcode机器码会被如strcpy等字符串复制、输入函数截断。 ⒉请简述缓冲区溢出的原理(3分)“缓冲区溢出”。 (4分)缓冲区溢出(3分)边界检查来实现缓冲区的保护,使得缓冲区溢出不可能出现⒊ 为什么用户只是点击了一个URL链接,并没有执行任何其他操作,也会中木马? 答:因为如果用户的浏览器在解析HTML文件时存在缓冲区溢出漏洞,那么攻击者就可以精心构造一个承载着恶意代码的HTML文件,并把其链接发给用户。当用户点击这种链接时,漏洞被触发,从而导致HTML文件中所承载的恶意代码(shellcode)被执行。这段代码通常是在没有提示的情况下去指定的地方下载木马客户端并运行。 ⒉ 请简述shellcode在注入到被攻击代码后,主要有哪两种内存布局方式?这两种布局方式的各自特点是什么?如果shellcode的长度小于被其溢出的缓冲区,适于采用哪种布局方式? 答:(4分)(4分)(2分)⒋ 某一Web考试系统要求考生输入身份证号码来查询各门课的考试成绩, 它通过以下SQL语句从数据库查询记录: sql=select * from score where id = + user_id + 其中:user_id表示身份证号,score是存放成绩的数据库表。 请问攻击者该如何实施SQL注入攻击以绕过后台的身份证号码验证? 答:攻击者可以这样构造输入字符串以绕过后台的身份证号码验证: 100 or 1=1 这样,构造的查询命令就是 select * from score where id = 100 or 1=1 由于id = 100 or 1=1永远为真,所以数据库查询记录会返回score数据库中所有用户的记录信息。 ⒌ 请简述SQL注入攻击的基本原理及如何防范SQL注入攻击。 答:SQL注入攻击的本质是利用Web 应用程序中所输入的SQL 语句的语法处理, 针对的是Web 应用程序开发者编程过程中未对SQL 语句传入的参数做出严格的检查和处理所造成的。攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL 语句元素,欺骗数据库服务器执行非授权的数据库操作。 防范SQL注入攻击的方法一般有:验证用户输入、使用存储过程和相应的参数传递、数据库访问帐号的最小化权限。 ㈢ 按要求回答问题(第一题5分,后两题每题10分,共25分) ⒈ 对于变量声明语句:int x=1; 假设一个int型变量占用四个字节,保存x的内存起始地址是0请写出x的值按“大端”方式在内存

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档