|
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
|