- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课件网络信息全
缓冲区溢出攻击 (4)保护堆栈 加入函数建立和销毁代码。前者在函数返回地址后增加一些附加字节,返回时要检查这些字节有无被改动。 使堆栈不可执行——非执行缓冲区技术,使入侵者无法利用缓冲区溢出漏洞。 * 为什么不写出不受影响的代码来? 编程的问题都可以在开发阶段防止,事实上,并没有这么简单 有些开发人员没有意识到问题的存在 有些开发人员不愿意使用边界检查,因为会影响效率和性能 另一方面,许多遗留下来的代码还很多 在开发过程中,尽量使用带有边界检查的函数版本,或者自己进行越界检查 * 一些典型的buffer overflows漏洞 NetMeeting buffer overflow 文章“The Tao of Windows Buffer Overflow”描述了漏洞发掘过程 Outlook 当客户接收邮件的时候,畸形的邮件头信息会导致buffer overflows,然后就可以执行恶意代码或者拒绝服务 Linuxconf Linuxconf允许远程通过Web对系统进行管理,当收到的http头中包含过量的信息时,会产生缓冲区溢出 ToolTalk ToolTalk是一个RPC服务,攻击者连接到ToolTalk端口,然后发送包含恶意代码的命令,可导致缓冲区溢出 ……(大量的服务器应用程序都包含buffer overflows漏洞) * 格式化字符串攻击 格式化字符串攻击也称为格式化字符串漏洞,同其他许多安全漏洞一样是由于程序员的疏漏造成的。不过,这种疏漏来自程序员使用格式化字符串函数的不严谨。 * 格式化字符串攻击 1. 格式化字符串函数族 ANSI C定义了一系列的格式化字符串函数,如 printf——输出到一个stdout流。 fprintf——输出到一个文件流。 sprintf——输出到字符串。 snprintf——输出到字符串并检查长度。 vprintf——从va_arg结构体输出到一个stdout流。 vfprintf——从va_arg结构体输出到一个文件流。 vsprintf——从va_arg结构体输出到一个字符串。 vsnprintf——从va_arg结构体输出到一个字符串并检查长度。 基于这些函数的复杂函数和非标准函数,包括setproctitle、syslog、err*、verr*、warm、*vwarm等。 这些函数有一个共同的特点,就是都要使用一个格式化字符串。例如对于大家熟悉的prontf函数,它的前一个参数,就是格式化字符串。 * 格式化字符串攻击 2. 格式化字符串漏洞 为了说明对格式化字符串使用不当而产生的格式化字符串漏洞,请先看下面的程序。 例 2 #include stdio.h int main() { char *name; gets(s); printf(s); } * abcde abcde%08x,%08x,%08x 000002e2,0000ffe4,0000011d 格式化字符串攻击 下面是该函数的两次运行结果 * 格式化字符串攻击 也就是说,当输入“abcde”时,输出仍然是“abcde”。而当输入“%08x,%08x,%08x”时,输出的却是“000002e2,0000fe4,0000011d”。这就是格式化字符串漏洞所造成的问题。因为,在printf函数中,s被解释成了格式化字符串。当调用该函数时,首先会解析格式化字符串,一次取一个字符进行分析:如果字符不是“%”,就将其原样输出;若字符是“%”,则其后面的字符就要按照格式化参数进行解析。当输入“abcde”时,由于没有包含“%”,所以每个字符都被原样输出了。而当输入“%08x,%08x,%08x”时,就要将每个“%”后面的“x”都解释为一个十六进制的数据项,但函数没有这样3个数据项。于是,就将堆栈中从当前堆栈指针向堆栈底部方向的3个地址的内容按十六进制输出出来,这就是“000002e2,0000fe4,0000011d”。 这就给人们一个启发:当格式化字符串中包含有许多“%”时,就会有机会访问到一个非法地址。 * 格式化字符串攻击 3. 格式化字符串攻击的几种形式 (1)查看内存堆栈指针开始的一些地址的内容 由例子可知,使用类似于 printf (“%08x,%08x,%08x”); 的语句,可以输出当前堆栈指针向栈底方向的一些地址的内容,甚至可以是超过栈底之外的内存地址的内容。 (2)查看内存任何地址的内容 所查看的内存地址内容,也可以从任何一个地址开始的内存内容。例如语句 printf (“\x20\02\x85\x08_%08x,%08x,%08x”); 将会从地址0始,查看连续3个地址的内容。 * 格式化字符串攻击 (3)修改内存任何地址的内容 格式化字符串函数还可
您可能关注的文档
- 课件人工智能artficialintelligence.ppt
- 课件全球化革与成长.ppt
- 课件人口老化和反向房贷agingandreersemortgage.ppt
- 课件人力车夫外一文雪山白莲.ppt
- 课件人教新课标三级数学下册.ppt
- 课件人生难免有折.ppt
- 课件热烈欢迎位老师莅临指导.ppt
- 课件认时钟1.ppt
- 课件人教版三年数学上册.ppt
- 课件人文思想与文化价值第一分人文思想与进步史观.ppt
- 2025年石家庄市直机关遴选公务员笔试真题汇编附答案解析.docx
- 2025年榆林市直属机关遴选公务员笔试真题汇编带答案解析.docx
- 2024年海西州遴选公务员考试真题汇编及答案解析(夺冠).docx
- 2025年韶关市直属机关遴选公务员笔试真题汇编带答案解析.docx
- 2024年彭水苗族土家族自治县直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2025年大理州直属机关遴选公务员笔试真题汇编附答案解析.docx
- 2024年张掖市选调公务员考试真题汇编附答案解析.docx
- 2024年荆州市直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2024年洛阳市直遴选考试真题汇编附答案解析(夺冠).docx
- 2024年贵阳市直机关遴选公务员笔试真题汇编含答案解析(夺冠).docx
最近下载
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 教学法学习成果1—“市场调查问卷设计”教案.doc VIP
- 2025年新苏教版四年级上册科学全册知识点含实验总结.pdf
- 心血管慢病管理策略.pptx
- 美剧剧本怪诞小镇台词本中英文对照精排版第一季第一集.pdf VIP
- 《幼儿良好习惯养成实践研究》-课题研究结题报告.文档.doc VIP
- 重点小学劳技学科学生评语.docx VIP
- 听力解题技巧+课件-2026届高三英语上学期一轮复习专项.pptx
- 第2部分 专题精练 《浮力、压强和密度》综合计算专项突破—全国初中物理竞赛试题精编(八年级下)(解析版).docx VIP
- 包头锦河湾工程CFG桩基础施工合同.docx VIP
原创力文档


文档评论(0)