-
-
[旧帖] [原创]缓冲区溢出简单示例 0.00雪花
-
发表于: 2013-10-21 17:50 1137
-
看书看到了缓冲区溢出,就自己想想这个原理,然后就有了这么一个程序示例,望大牛们多赐教

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 缓冲区溢出攻击简例 #include<stdio.h> // 正常调用函数 void good(){ puts( "good!" ); } // 溢出攻击函数 void bad(){ puts( "bad!" ); } // 函数指针 typedef void (*ptr)(); // 用于小端地址输出的联合体 typedef union _ADDR_STRING{ int addr; char str[4]; }ADDR_STRING; //main entry. int main(int argc,char* argv[]){ ptr func = good; //VC6 .0环境下,str溢出后邻接func char str[3] = "!!!" ; ADDR_STRING addr; // 攻击函数地址 addr.addr = (int)bad; // 缓冲区溢出入口 sprintf(str, "!!!!%c%c%c%c" , addr.str[0], addr.str[1], addr.str[2], addr.str[3]); //func 已经被替换为bad func(); return 0; } |
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- [原创]缓冲区溢出简单示例 1138
赞赏
雪币:
留言: