http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1971 [º¹»ç]
ÀÎÅͳݿ¡¼ ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â Buffer OverFlow [BOF] '°ÁÂ'¹®¼µéÀ» º¸¸é
óÀ½°øºÎÇϽôºеéÀº ¹öÆÛ¿¡ ÀúÀåµÈ µ¥ÀÌÅͰªÀÌ °Å²Ù·Î ¾²¿©ÀÖ´Â °ÍÀ» º¸°í »ý°¢ÇÕ´Ï´Ù.
' À̰ЏÓÁö???¤Ð ¿Ö °Å²Ù·ÎÁö??¤Ð ±×³É ÆíÇÏ°Ô ¼ø¼´ë·Î ¾²¸é ¾ÈµÇ³ª??¤Ð '
°Ë»ö or °Á¿¡ ¼³¸íµÈ ³»¿ëÀ» ÅëÇØ little endian ¹æ½ÄÀ̱⶧¹®¿¡ ±×·¸´Ù´Â°ÍÀ» ¾Ë°ÔµË´Ï´Ù.
ÇÏÁö¸¸,
>> ¿Ö little endian¹æ½ÄÀ» »ç¿ëÇÏ´Â °Í Àϱî¿ä?? <<
¿¹¸¦ µé¾î, ¹öÆÛ¿¡ ÀúÀåµÉ µ¥ÀÌÅͰ¡ 0x00000037 À̶ó°í ÇØº¾½Ã´Ù.
±×·³ Big Endian , Little Endian ¿¡ µû¶ó ´ÙÀ½°ú °°ÀÌ ÀúÀåµÇ°ÚÁÒ.
( ÁÖ¼Ò´Â ÀÓÀÇ·Î ¾´ °ÍÀÌ´Ï ½Å°æ¾²Áö¸¶¼¼¿ä. )
Big Endian - Data(µ¥ÀÌÅÍ) Addr(ÁÖ¼Ò) Data(µ¥ÀÌÅÍ) - Little Endian
----- -------- -----
0x00 0x100 0x37
----- -------- -----
0x00 0x101 0x00
----- -------- -----
0x00 0x102 0x00
----- -------- -----
0x37 0x103 0x00
----- -------- -----
0x00000037 Àº '7' ÀÔ´Ï´Ù.
ÀÌÁ¦ ´ÙÀ½°ú °°Àº C Äڵ带 »ý°¢ÇØ º¾½Ã´Ù.
#include <stdio.h>
void main()
{
int Number = 7;
long *lp = (long *) &Number;
char *cp = (char *) &Number;
//ÀÌÇÏ »ý·«, ( Æ÷ÀÎÅͰ¡ ÀÌÇØ¾ÈµÇ½Å´Ù¸é °ï¶õÇÕ´Ï´Ù... )
}
ÀÚ, ÀÌÁ¦ Çѹø ´õ »ý°¢Çغ¸Á®.
¸¸¾à ¹öÆÛ¿¡ ÀúÀåµÇ´Â ¹æ½ÄÀÌ Big Endian ¹æ½ÄÀ̶ó¸é,
´ÙÀ½°ú °°Àº ½ÄÀÌ ¼º¸³ÇÒ±î¿ä?
Number == *lp == *cp == 7
´äÀº "±×·¸Áö ¾Ê´Ù." ÀÔ´Ï´Ù.
C language ¿¡¼,
int ÇüÀº 4byte Å©±âÀÇ ÀÚ·áÇüÀÔ´Ï´Ù.
long ÇüÀº 4byte Å©±âÀÇ ÀÚ·áÇüÀÔ´Ï´Ù.
±×·¯³ª " char ÇüÀº 1byte Å©±âÀÇ ÀÚ·áÇüÀÔ´Ï´Ù. "
char ÇüÀº µ¥ÀÌÅÍÀ» °¡Á®¿Ã¶§ 1byteÅ©±â¸¸À» °¡Á®¿À°ÚÁÒ. ( À§ÀÇ ½ºÅà ±×¸²¿¡¼ Á¦ÀÏ ÀºÎºÐÀÇ ÇÑĸ¸ )
Áï, Big Endian ¹æ½ÄÀ̶ó°í °¡Á¤ÇÑ´Ù¸é À§ Äڵ忡¼ *cp °¡ °¡¸£Å°´Â °ªÀº ' 0 ' À̶ó´Â °Í ÀÔ´Ï´Ù.
ÀÌ¿Í °°Àº »óȲ¶§¹®¿¡ Little Endian ¹æ½ÄÀ» »ç¿ëÇÏ´Â °Í ÀÔ´Ï´Ù.
À§ÀÇ ½ºÅà ±×¸²À» º¸½Ã¸é Little Endian ¹æ½ÄÀº ½ºÅÃÀÇ Á¦ÀÏ À ºÎºÐ¿¡ ³·Àº ÀÚ¸® ¼öÀÇ °ªÀÌ µé¾î°¡°Ô µË´Ï´Ù.
±×·¯¹Ç·Î ½ºÅÃÀÇ Push & Pop ¹æ½Ä¿¡¼ ( µ¥ÀÌÅ͸¦ Â÷°îÂ÷°î ½×¾Æ³õ°í, Á¦ÀÏ À§¿¡ °Í ºÎÅÍ ²¨³»¿À´Â ¹æ½Ä )
¿¹Á¦¿Í °°Àº »óȲÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô µË´Ï´Ù.
Áï, charÇüÀÌ µ¥ÀÌÅ͸¦ °¡Á®¿Ã¶§ 1byte Å©±â¸¸À» °¡Á®¿À´õ¶óµµ Á¦ÀÏ ³·Àº ÀÚ¸® ¼öÀÇ °ªÀÌ ½ºÅÃÀÇ Á¦ÀÏ À§¿¡ ÀúÀå
µÇ¹Ç·Î ¿¹Á¦¿Í °°Àº »óȲÀÌ ¹ß»ýÇÏÁö ¾Ê´Â°Ì´Ï´Ù. ( ÀúÀåµÈ µ¥ÀÌÅͰ¡ ¾öû Ä¿Áø´Ù¸é ©¸®°ÚÁö¸¸ )
ÀÌ·¯Çϱ⠶§¹®¿¡
x86, Dec Alpha , µîµî,, ¿¡¼´Â Little Endian ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù.
±×·³ Big Endian ¹æ½ÄÀº ¾îµð¼ »ç¿ëµÇ´À³Ä?
³×Æ®¿öÅ© ÆÐŶ
( ÆÐŶÀÌ ¿À´Â Á·Á· ÇØ¼®ÇØ¾ß Çϴϱî Big Endian ¹æ½ÄÀ̾î¾ß °ÚÁÒ? ÆÐŶÀÌ °Å²Ù·Î µÚÁýÈùä·Î Àü¼ÛµÇ¾î ¿Â´Ù¸é ÆÐŶºÐ¼®ÇÒ¶§ ¸àºØÇÒµí,,, )
Java
( µð¹ö±ëÇÒ¶§ ÆíÇÕ´Ï´Ù. )
µîµî,,,¿¡¼ »ç¿ëµË´Ï´Ù.
¿À·£¸¸¿¡ °ÁÂ±Û ¾²³×¿ä ¤¾
ÇÏÁö¸¸ Á¦ °Á±ÛÀº Á¦°¡ ³ªÁß¿¡ ±î¸Ô¾úÀ»¶§ ±â¾ïÇϱ⠽±°Ô Çϱâ À§ÇÑ ±ÛÀ̶ó ´ëÃæ ¼³¸íÇÑ ºÎºÐµµ ÀÖ´Ù´Â °ÍÀ»
¾Ë¾ÆÁÖ¼¼¿ä ¤Ð-¤Ð¤»
ÀоîÁּż °¨»çÇÕ´Ï´Ù. |
Hit : 6802 Date : 2012/03/09 04:30
|