[PLUG] stack smash issue
abhi
abhi.elementx at gmail.com
Fri Jul 31 17:05:56 IST 2009
Hello all.
I m trying to smash(change the return address) the stack.
I think i m missing the correct numbers(sue to differences in krnl and gcc
versions).
Heres the code :
#include<stdio.h>
void function(int a, int b, int c) {
char buffer1[5];
char buffer2[10];
int *ret;
ret = buffer1 + 9;//I think that ret address is 5 bytes away...
(*ret) += 7;//diff between actual ret address and target
}
int main() {
int x;
x = 0;
function(1,2,3);
x = 1;//shud skip this
printf("%d\n",x);//shud print 0
return 0;
}
The program prints 1 when it shud print 0.
I m using ubuntu 9.04 kernel 2.6.28-14-generic and gcc version 4.3.3 (Ubuntu
4.3.3-5ubuntu4)
Cud someone tell me how to find the size of the arrays, variables on stack
from the assembly code?
Thank u.
More information about the Plug-mail
mailing list