-
-
[旧帖] [求助]这个程序怎么样溢出呢 0.00雪花
-
发表于: 2013-1-30 17:26 1134
-
#include<stdio.h> #include<stdlib.h> #include<string.h> struct widget_t { double x; double y; int count; } #define MAX_WIDGETS 1000 int foo(char *in,int count){ struct widget_t buf[MAX_WIDGETS]; if(count<MAX_WIDGETS) memcpy(buf,in,count * sizeof(struct widget_t)); return 0; } int main(int argc,char *argv[]){ int count; char *in; count=(int)strtoul(argv[1],&in,10); if(*in !=',') exit(EXIT_FAILURE); in++; foo(in,count); return 0; }
这是学校的一个学习缓冲区溢出攻击的程序
但是执行MEMCPY前检查了边界
那我的shellcode就算写入了那个缓冲区里面也无法跳转过来执行
那这个程序能怎么被利用呢
PS:因为是实验,所以肯定是能被利用的
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: