Buffer Overflow导致另一个函数被调用
作者:半瓶墨水 链接:http://www.2maomao.com/blog/buffer-overflow-call-func/
我记得以前MS的林斌到学校演讲,演示了一个Buffer Overflow,冲掉了函数返回地址结果改成了另一个函数。
今天一时兴起想做个demo,试了一个多小时,终于成功了
下面这份代码编译以后执行的时候会调用到bad函数,呵呵
C++语言: Buffer Overflow导致另一个函数被调用
//搞定了,呵呵
//具体参见:http://en.wikipedia.org/wiki/Stack_buffer_overflow
#include <stdio.h>
#include <string.h>
//具体参见:http://en.wikipedia.org/wiki/Stack_buffer_overflow
#include <stdio.h>
#include <string.h>
void bad() {
printf("Oh shit really bad~!\r\n");
}
void foo() {
char overme[4] = "WOW";
*(int*)(overme+8) = (int)bad;
}
int main() {
foo();
}
共 3 条评论
发表评论
Additional comments powered by BackType



Buffer Overflow导致另一个函数被调用: 我记得以前MS的林斌到学校演讲,演示了一个Buffer Overflow,冲掉了函数返回地址结果改成了另一个函数。 今天一时兴起想做个demo,试了一个多小时,终于成.. http://bit.ly/8RK0n
This comment was originally posted on Twitter
强的- -|||
嗯,这个还基本从来没考虑过了,厉害。