http://www.hackerschool.org/HS_Boards/zboard.php?desc=desc&no=350 [º¹»ç]
BOF ÇØÅ·°úÁ¤¿¡¼
¼Ò½º»ó¿¡
main()
{
...
char buf2[20];
char buf[20];
...
ÀԷ¹ÞÀº °ª¿¡¼ overflowÀϾ¼.. system(¾î¶²°Å...)ÇÑ´Ù¸é... (»ý·«ÇÑ ¼Ò½º)
...
}
º¸Åë stdinÀ¸·Î ÀԷ¹ÞÀ»¶§ 10bytes + Á¶°Ç¸Â´Â ¹®ÀÚ¿ ÇÏ¸é µÉµí½ÍÀºµ¥,
gcc 2.96 ºÎÅÏ 16bytes + Á¶°Ç¸Â´Â ¹®ÀÚ¿ÀÌ´õ±º¿ä.
±×·¡¼ ÀÌ¿Í °ü·Ã
main()
{
char buf[10];
}
À̳ÑÀÇ dumpcode¸¦ »Ì¾Æº¸´Ï
00000000 55 push ebp
00000001 89E5 mov ebp,esp
00000003 83EC18 sub esp,byte +0x18
00000006 C9 leave
00000007 C3 ret
ÀÌ·¸´õ±º¿ä.
À§¿¡¼ º¸¸é char buf[10];ÀÇ °ø°£À¸·Î ½ºÅÿ¡ 18bytes¸¸Å È®º¸ÇÏ´Â °Å °°Àºµ¥ ¿Ö 16byte·Î ÇØ¾ß Á¦´ë·Î µ¹¾Æ°¡´ÂÁö ÀÌÇØ°¡ ¾ÈµÇ³×¿ä.
16bytes + Á¶°Ç¸Â´Â ¹®ÀÚ¿ Çϸé Á¤»óµ¿ÀÛÀº Çϱä Çϴµ¥¿ä...
Áú¹®ÀÌ ³Ê¹« »ê¸¸Çؼ Á¦´ë·Î Àü´ÞÀÌ µÉÁö Àß ¸ð¸£°Ú´Âµ¥...
°á·ÐÀûÀ¸·Î gcc 2.96¿¡¼ÀÇ ½ºÅú¯È ¾îµð¼ ¾Ë¾Æ³¾ ¼ö Àִ°¡?
±×¸®°í Á¦ »ó½ÄÀ¸·Ð À§¿Í °°ÀÌ dumpcode»Ì¾Æº¸¸é ºÐ¸í °ø°£È®º¸¸¦ 18bytes¸¸ÅÇϴ°Š°°Àºµ¥ 16bytesÀΰ¡? ±Ã±ÝÇϳ׿ä..
ÁÁÀºÇÏ·çµÇ¼¼¿ä. |
Hit : 3485 Date : 2005/01/02 05:00
|