ÇÁ·ÎÅ佺Ÿ Áö³ ½Ã¸®Áî¿¡¼´Â ½ºÅà ¿À¹öÇ÷ο쿡 ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇظ¦ ÁøÇàÇß½À´Ï´Ù. À̹ø ½Ã¸®Áî¿¡¼´Â Æ÷¸Ë½ºÆ®¸µ°ú Èü¿¡¼ ¹ß»ýÇϴ¹ö±×¿¡ ´ëÇؼ ÇнÀÇÕ´Ï´Ù. ±×¸®°í ¾î¶»°Ô °ø°ÝÇÒ ¼ö ÀÖ´Â Áö±îÁö Â÷±Ù Â÷±Ù ÁøÇàÇÕ´Ï´Ù.
ÀÌ ½Ã¸®Á µé¾î°¡±â Àü¿¡ ²À ÇÊ¿äÇÑ ¼±¼ö Áö½ÄÀÌ ÀÖ½À´Ï´Ù. ½ºÅÿÀ¹öÇ÷οì Æí¿¡¼ ÇнÀÇÑ µð¹ö°Å »ç¿ë ¹æ¹ý, ¾î¼ÀºíÇÏ´Â ¹æ¹ý, ÄÄÆÄÀÏÇÏ´Â ¹æ¹ý, ÀͽºÇ÷ÎÀÕ Äڵ带 ±¸¼ºÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÌ·± Áö½ÄÀÌ ÇöÀç °®ÃçÁ® ÀÖÁö ¾Ê´Ù¸é ³»¿ëÀ» ÁøÇàÇϱ⠾î·Á¿ï ¼ö ÀÖÀ¸´Ï Âü°í¹Ù¶ø´Ï´Ù.
°¡´ÉÇÏ´Ù¸é ÀÌÀü ½ºÅÿÀ¹öÇ÷οì ÆíÀ» ¾î´À Á¤µµ ¼÷ÁöÇϽðí ÁøÇàÇϽñæ Ãßõµå¸³´Ï´Ù.
À̹ø ½Ã¸®Áî¿¡¼´Â Æ÷¸Ë ½ºÆ®¸µ ¹ö±×, Èü ¹®Á¦¸¦ »ç¿ëÇÏ¿© °ø°ÝÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù. óÀ½ Ç®°Ô µÉ ¹®Á¦´Â Æ÷¸Ë ½ºÆ®¸µ ¹ö±×¸¦ ÀÌ¿ëÇÑ BOF °ø°ÝÀÔ´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ Æ÷¸Ë ½ºÆ®¸µ ¹ö±×ÀÇ ±âº» °³³äÀÌ µÇ´Â Æ÷¸Ë ½ºÆ®¸µ(¼½Ä¹®ÀÚ)¿¡ ´ëÇØ ¾Ë¾Æº¾½Ã´Ù.
01 µé¾î°¡±â 9
1.1 ÇÊ¿ä ¼±¼ö Áö½Ä 9
02 Æ÷¸Ë ½ºÆ®¸µ ±âÃÊ 11
2.1 Æ÷¸Ë ½ºÆ®¸µ 11
2.2 Æ÷¸Ë ½ºÆ®¸µ ¹ö±× 17
03 Format0 spintf ¿À¹öÇ÷οì 24
3.1 ¼Ò½ºÄÚµå ºÐ¼® 24
3.2 GDB ºÐ¼® 29
3.3 Ãë¾àÁ¡ ºÐ¼® 34
04 Format1 ÄÚµå È帧 º¯Á¶ 39
4.1 ¼Ò½ºÄÚµå ºÐ¼® 41
4.2 GDB ºÐ¼® 43
4.3 Ãë¾àÁ¡ ºÐ¼® 47
05 Format2 Á¤È®ÇÑ ÀÛÀº ¼ö·Î ÀÎÁõÇϱâ 57
5.1 ¼Ò½ºÄÚµå ºÐ¼® 57
5.2 GDB ºÐ¼® 60
5.3 Ãë¾àÁ¡ ºÐ¼® 64
06 Format3 Á¤È®ÇÑ Å« ¼ö·Î ÀÎÁõÇϱâ 68
6.1 ¼Ò½ºÄÚµå ºÐ¼® 70
6.2 GDB ºÐ¼® 72
6.3 Ãë¾àÁ¡ ºÐ¼® 78
07 °è¼Ó ³ª¾Æ°¡±â À§ÇÑ GOT ±âÃÊ ¼³¸í 90
08 Format4 GOT µ¤¾î¾²±â¸¦ È°¿ëÇÑ Exploit 93
8.1 ¼Ò½ºÄÚµå ºÐ¼® 95
8.2 GDB ºÐ¼® 98
8.3 Ãë¾àÁ¡ ºÐ¼® 102
09 Heap0 Èü¿¡¼µµ ¿À¹öÇ÷ο찡 ¹ß»ýÇÑ´Ù 112
9.1 ¼±¾ðµÇ´Â Èü ±¸Á¶ 113
9.2 ¼Ò½ºÄÚµå ºÐ¼® 115
9.3 GDB ºÐ¼® 121
9.4 Ãë¾àÁ¡ ºÐ¼® 129
10 Heap1 ´õºí strcpy¸¦ È°¿ëÇÑ ÀͽºÇ÷ÎÀÕ ½Ã³ª¸®¿À 137
10.1 ¼Ò½ºÄÚµå ºÐ¼® 137
10.2 GDB ºÐ¼® 142
10.3 Ãë¾àÁ¡ ºÐ¼® 152
11 Heap2 UAF(Use After Free) Ãë¾àÁ¡À» È°¿ëÇÑ º¯Á¶ 164
11.1 ¼Ò½ºÄÚµå ºÐ¼® 165
11.2 GDB ºÐ¼® 170
11.3 Ãë¾àÁ¡ ºÐ¼® 186
12 Heap3 DFB(Double Free Bug) ÀÌÇØ¿Í ½Ç½À 199
12.1 ÇØÁ¦µÇ´Â ÈüÀÇ ±¸Á¶ 199
12.2 ¼Ò½ºÄÚµå ºÐ¼® 202
12.3 GDB ºÐ¼® 206
12.4 Èü ¾ð¸µÅ©(unlink) °úÁ¤ ÀÌÇØ 210
12.5 Ãë¾àÁ¡ ºÐ¼® 219