缓冲区溢出攻击原理.PPT

上传人:国*** 文档编号:957736 上传时间:2018-11-09 格式:PPT 页数:17 大小:268.50KB
下载 相关 举报
缓冲区溢出攻击原理.PPT_第1页
第1页 / 共17页
缓冲区溢出攻击原理.PPT_第2页
第2页 / 共17页
缓冲区溢出攻击原理.PPT_第3页
第3页 / 共17页
缓冲区溢出攻击原理.PPT_第4页
第4页 / 共17页
缓冲区溢出攻击原理.PPT_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、1.缓冲区溢出攻击原理堆栈(已初始化数据)数据段(未初始化数据)代码段一个进程的内存映像文本段(代码段)文本区域是由程序确定的 , 包括代码 (指令 )和只读数据。 该区域相当于可执行文件的文本段。 这个区域通常被标记为只读 , 任何对其写入的操作都会导致段错误(segmentation violation数据段数据区域包含了已初始化和未初始化的数据。 静态变量储存在这个区域中 堆栈用于函数调用,用于返回高低1) 缓冲区溢出攻击 (实例 )main()char passwd8 = “2e4rfe“;char yourpasswd8 = “;again:puts(“please input pa

2、sswd?“);gets(yourpasswd); if (strcmp(yourpasswd, passwd)= =0)goto ok;puts(“passwd error“);goto again;exit(-2);ok:puts(“correct!“);/ do work you wantreturn 0;程序的设计功能:输入正确的口令后做某项工作 (否则重复要求输入口令)演示:输入精心计划好的字串打乱设计期望的执行逻辑,从而绕过某些口令2)栈溢出攻击 (函数调用 )实在参数返回地址基地址栈底 (内存高端 )栈增长方向局部变量1) 首先把参数压入栈;2) 然后保存命令寄存器( IP) 中

3、的内容作为返回地址( RET);3) 第三个放入堆栈的是基址寄存器( FP);4) 然后把当前的栈指针( SP) 拷贝到 FP, 作为新的基地址;5) 最后为本地变量留出一定空间函数调用与堆栈 缓冲区溢出攻击 缓冲区寄存器EIPargcargvESPEIP bufESP低高 进入函数后的堆栈 拷贝超长字符数组到缓冲区中 释放局部变量ESP指向返回地址 从堆栈中取出的EIP,执行 shell codeEIPESPEIPEIP例子int AFunc(int i,int j)int m = 3;int n = 4;m = i;n = j;BFunc(m,n);return 8;int BFunc(int i,int j)int m = 1;int n = 2;m = i;n = j;return m;int main()AFunc(5,6); return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。