|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=564 [º¹»ç]
´Þ°í³ª´ÔÀÇ ¹®¼¸¦ º¸¸é¼ µû¶óÇØº¸°í Àִµ¥¿ä
ÀÌ ¹®¼¸¦ º¸¸é execve ¾È¿¡¼ ·¹Áö½ºÅÍ¿¡ °ªµéÀ» ³Ö¾îÁØÈÄ int 0x80À¸·Î system callÀ» È£ÃâÇÏ´Â ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½Ãŵ´Ï´Ù
±×·±µ¥ gcc version 4.6.1ÀÎ Á¦ ÄÄÇ»ÅÍ¿¡¼ objdump ÇØº¸¸é ´Ù¸¥ ¾î¼Àºí¸® ÄÚµå´Â ´Ù ¶È°°Àºµ¥
int 0x80ÀÌ ÀÖ¾î¾ß ÇÒ ºÎºÐ¿¡ call *0x80d70b0ÀÌ ÀÖ½À´Ï´Ù.
objdump -d shell | grep 80d70b0 ÇØºÁµµ callÇÏ´Â ºÎºÐÀº ¸¹Àºµ¥ ±× ÁÖ¼Ò¿¡ ¹¹°¡ ÀÖ´ÂÁö´Â ³ª¿ÀÁö ¾Ê½À´Ï´Ù
¾Æ¹«·¡µµ ´Ù¸¥ ÇÁ·Î¼¼½º ¾ÈÀÇ instructionÀ» È£ÃâÇÏ´Â °Í °°½À´Ï´Ù
¶Ç, c¿¡¼ ÀζóÀÎ ¾î¼Àºí·Î ÄÚµù ÇØºÁµµ
"push $0x0068732f\n\t"
"push $0x6e69622f\n\t"
"mov %esp,%ebx\n\t"
"push $0x0\n\t"
"push %ebx\n\t"
"mov %esp,%ecx\n\t"
"mov $0x0, %edx\n\t"
"mov $0xb, %eax\n\t"
"int $0x80\n\t"
´Â Àß µÇÁö¸¸
"push $0x0068732f\n\t"
"push $0x6e69622f\n\t"
"mov %esp,%ebx\n\t"
"push $0x0\n\t"
"push %ebx\n\t"
"mov %esp,%ecx\n\t"
"mov $0x0, %edx\n\t"
"mov $0xb, %eax\n\t"
"call *0x80d70b0\n\t"
ó·³ ¸¶Áö¸·ÁÙÀ» ¹Ù²Ù¸é ¼¼±×¸àÅ×ÀÌ¼Ç ¿À·ù¸¸ ¹ß»ýÇÕ´Ï´Ù...
¿Ö ±×·±Áö ÇѼö °¡¸£ÃÄÁÖ½Ã¸é °¨»çÇϰڽÀ´Ï´Ù... |
Hit : 3316 Date : 2012/04/23 11:49
|