½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ewqqw
   ¹öÆÛ¿À¹öÇ÷οì Áú¹®....

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1856 [º¹»ç]


#include<stdio.h>
#include<string.h>

int main(int argc, char* argv[]){
        int check1 = 0x200a0b00;
        int check2 = 0xaabbccdd;
        char buffer[20];
        strcpy(buffer, argv[1]);
        if(check2==0x11223344)
                if(check1==0x200a0b00)
                        system("/bin/sh");
}

.. Àä

±× ÇØÄ¿½ºÄð BOF¿Õ±âÃÊÆíÀ¸·Î °øºÎÇϸ鼭  ¾î¶»°Ô ÇØº¸·Á°í ½ÃµµÇß½À´Ï´Ù.

¸Þ¸ð¸®¿¡ ½×ÀÌ´Â ¼ø¼­°¡

| BUFFER[20] | check2 | check1 | ÀÌÀݾƿä...  ±×·¡¼­ ÀÎÀÚ°ª³Ö°í

./BOF1 AAAAAAAAAAAAAAAAAAAA(20°³)`perl -e 'print "\x44\x33\x22\x11"''perl -e 'print "\x00\x0b\x0a\x20"'` Çߴµ¥
¾ÈµÇ´õ¶ó±¸¿ä ¤¾¤¾¤¾ (little edian Àû¿ë Çß½À´Ï´Ù)

Á¶¾ðºÎʵå·Á¿ä ¤Ð¤Ð

  Hit : 2903     Date : 2017/04/16 02:36



    
ÇØÄð·¯ buffer°¡ 20ÀÎÁö´Â ¾Ë ¼ö ¾ø½À´Ï´Ù
gdb·Î strcpyÀÇ Ã¹¹øÂ° ÀÎÀÚ¸¦ °¡Á®¿Ã ¶§ lea 0x~~(%ebp), %~~ ¿¡¼­ ebp¿ÀÇÁ¼ÂÀ» º¸¼Å¾ß Çϰí
0x11223344¶û ºñ±³ÇÏ´Â °ªÀ» °¡Á®¿Ã¶§ ¾î¶»°Ô °¡Á®¿À´ÂÁö ºÁ¼­ ½ºÅÿ¡¼­ µÎ°³ Â÷À̰¡ ¾ó¸¶³ª ³ª´ÂÁö È®ÀÎÇØ¾ßÇÕ¤¤µð¤¿
±×¸®°í check1Àº ÀÌ¹Ì °°Àº°ªÀ» °°Àº°ªÀ¸·Î ºñ±³ÇÏ´Ï µ¤À» Çʿ䰡¾ø½À´Ï´Ù µ¤À»¼öµµ ¾ø±¸¿ä ³Î¹ÙÀÌÆ®¶§¹®¿¡
2017/04/16  
pwnnnt ÇØÄð·¯´ÔÀÇ ÁÁÀº ¸»¾¸Ã³·³, gcc ÀÏÁ¤ ¹öÀü ÀÌ»óºÎÅÍ´Â dummy °ªÀÌ ½ºÅÿ¡ ºÙ±â ¶§¹®¿¡ ½ÇÁ¦ bufferÀÇ ÁÖ¼Ò°¡ ebp-20ÀÎÁö ¾Ë ¼ö ¾ø½À´Ï´Ù. 2017/04/16