第2讲 字符串安全一2014年2月26日.pdfVIP

  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文档。上传文档
查看更多
第2讲字符串安全(一) 常见字符串错误 缓冲溢出漏洞 计算机学院 徐国爱 xga@ 本讲内容安排 1 字符串的特征 2 常见的字符串操作错误 3 字符串漏洞 4 系统栈工作原理 5 栈管理示例 1.1 字符串概述  字符串  形式:命令行参数、环境变量及控制台输入  内容:最终用户和软件系统交互的大部分数据,含 图形化、文本输入等;程序之间通过XML等进行交 互的数据也常采用字符串形式。 1.2 C语言字符串  C语言字符串  由一个连续的字符序列组成,并以一个空字符 (NULL)作为结束  一个指向字符串的指针实际上就是指向该字符串起 始字符  字符串长度则指空字符之前的字节数  字符串的值是指它所包含的按顺序排列的字符序列 h e l l o \0 length  C语言宽字符串(wide string )  以一个空宽字符结尾的连续的宽字符序列  一个指向宽字符串的指针实际上就是指向该宽字符 串起始宽字符  宽字符串长度则指宽空字符之前的宽字节数  宽字符串的值是指它所包含的按顺序排列的宽字符 序列 1.3 C++字符串  类型  C风格字符串  自建字符串类  标准模板类(std::basic_string ) • std::string,针对char的实例化 • std::wstring,针对wchar_t 的实例化  特点  支持一些常用方法,不易出错,较少导致安全漏洞  与C风格字符串不完全匹配,通常作为对象整体按 值或引用进行传递,C库函数则接受指向空字符结 尾的字符串序列的指针作为参数  内部表示并不一定要求以空字符结尾  风险  不同类型字符串相关操作在方式、结果上可能不同  实际的C++程序面临多重类型字符串及相关调用并 存 本讲内容安排 1 字符串的特征 2 常见的字符串操作错误 3 字符串漏洞 4 系统栈工作原理 5 栈管理示例 2.1 无界字符串复制  无界字符串复制发生于从一个无界数据源复制 数据到一个定长的字符数组时(例

您可能关注的文档

文档评论(0)

189****6140 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档