缓冲区溢出漏洞的原理及其利用实战

微信订餐小程序课程视频
实战量化交易理财系统
缓冲区溢出漏洞的原理及其利用实战1. 实验环境实验工具:2. 缓冲区溢出漏洞原理2.1 首先我们先来编写一个简单的存在缓冲区溢出漏洞的程序
编写一个 不存在溢出 的程序
#include "stdio.h"#include "string.h"//十个字节char name[]="qianyishen";int main(){//申请了11个字节的空间char buffer[11];//将变量name中的内容复制到buffer数组中(由于buffer申请的空间 > 10字节,所以不会发生溢出)strcpy(buffer,name);printf("%s\n",buffer);//加上这行代码可以使程序执行完printf之后停止,我们回车才可以继续执行,以便我们查看执行结果getchar(); return 0;}
那么如果变量name中的数据超过11个字节会怎么样?接下来让我们实验一下
#include "stdio.h"#include "string.h"//20个字节,我们将数据量加一倍char name[]="qianyishenqianyishen";int main(){//申请了11个字节的空间char buffer[11];//将变量name中的内容复制到buffer数组中(由于buffer申请的空间 < 20字节,所以会发生溢出)strcpy(buffer,name);printf("%s\n",buffer);//加上这行代码可以使程序执行完printf之后停止,我们回车才可以继续执行,以便我们查看执行结果getchar();return 0;}
【缓冲区溢出漏洞的原理及其利用实战】2.2 接下来我们研究一下存在溢出的程序出错的原因对于我们的这个程序来说,call下面的这个语句,它的地址是