|  |
| |
| pwnnnt |
RTL ±â¹ýÀº Return to LibraryÀÇ ¾àÀÚÀÔ´Ï´Ù.
Áï, ÇÁ·Î±×·¥ÀÇ RET ¿µ¿ª¿¡ Library ÁÖ¼Ò¸¦ ³Ö¾îÁִ°ÅÁÒ. ¿©±â±îÁö´Â ½±°Ô ÀÌÇØÇϼÌÀ» °Í °°½À´Ï´Ù.
Library¸¦ Æ÷ÇÔÇÑ ¸ðµç ÇÔ¼öµéÀº 'call ¸í·É¾î'¸¦ ÅëÇØ ÇÁ·Ñ·Î±× °úÁ¤À» °ÅÄ¡°í »õ·Î¿î ½ºÅà ÇÁ·¹ÀÓÀÌ »ý°Ü³ª¸é ÀÎÀÚ¸¦ ebp+8ÀÇ ÁÖ¼Ò¿¡¼ ¹Þ¾Æ¿É´Ï´Ù.
call ¸í·É¾î¸¦ Ç®¾î¼ ¾²°ÔµÇ¸é push eip / jmp func() ÀÔ´Ï´Ù.
ÇÏÁö¸¸ RTL±â¹ýÀº callÀÌ ¾Æ´Ñ RET¿µ¿ª¿¡ func()ÁÖ¼Ò¸¦ ³Ö¾î È£ÃâÇϱ⠶§¹®¿¡ pop eip / jmp eip °úÁ¤À» °ÅÄ¡°Ô µË´Ï´Ù.
±×·¸±â ¶§¹®¿¡ RTL·Î ¿øÇÏ´Â ÀÎÀÚ¸¦ Àü´ÞÇØÁÖ±â À§Çؼ´Â RET+8¿¡ ÀÎÀÚ ÁÖ¼Ò¸¦ ³ÖÀ¸¼Å¾ß µË´Ï´Ù.
±×·¯¸é ´ç¿¬È÷ RET+4¿¡´Â func()ÀÇ RET°¡ µÇ°ÚÁÒ ?
|
2017/03/24 |
|
| pwnnnt |
RET+4¿¡ ´Ù¸¥ func()ÁÖ¼Ò¸¦ ³ÖÀ¸¸é¼ ¿¬¼ÓÇØ¼ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ±â¹ýÀÌ RTL Chain ÀÌ µÇ´Â°Ì´Ï´Ù. |
2017/03/24 |
|
| pwnnnt |
Ȥ½Ã À߸øµÈ Áö½ÄÀÌ ÀÖÀ¸¸é ¤¾îÁÖ¼¼¿ä ;¤±; |
2017/03/24 |
|
| ÇØÄð·¯ |
ÀºÐµµ Á¤È®ÇÏ°Ô ¼³¸íÇØÁ̴ּµ¥,
call·Î ÇÔ¼ö¸¦ È£ÃâÇÏ´À³Ä retÀ¸·Î ÇÔ¼ö¸¦ È£ÃâÇÏ´À³ÄÀÇ ¹®Á¦ÀÔ´Ï´Ù
[dummy] + [ret] + "AAAA", "BBBB"
ÀÏ ¶§ AAAA°¡ ÀÎÀÚ·Î µé¾î°¡´À³Ä BBBB°¡ ÀÎÀÚ·Î µé¾î°¡´À³ÄÀε¥
ÇÔ¼öÀÇ ¸Ç ùÀνºÆ®·°¼ÇÀ» eip°¡ °¡¸£Å°´Â ¼ø°£ÀÇ esp¸¦ ±âÁØÀ¸·Î ÀÎÀÚ´Â ¿ø·¡ ¾îµðÀÖ¾î¾ß Çϴ°¡¸¦ ¾Ë¸é µË´Ï´Ù
push arg2
push arg1
call func
À» ½ÇÇàÇϸé ÇÔ¼öÀÇ ¸Ç ù ÀνºÆ®·°¼Ç¿¡¼ esp´Â
[ret] [arg1] [arg2]
retÀ» °¡¸£Å°°í ÀÖ½À´Ï´Ù
RTLÀ» Çϸé
[dummy] + [ret] + "AAAA" + "BBBB" ÀÏ ¶§
RET¸í·É¾î´Â pop %eip¿Í °°À¸´Ï RETÀ» ¼öÇàÇϸé ret´Â eip·Î µé¾î°¡°í esp´Â "AAAA"¸¦ °¡¸£Å°°Ô µË´Ï´Ù. ±×¸®°í ±× ¼ø°£Àº ÇÔ¼öÀÇ ¸Ç ùÀνºÆ®·°¼Ç ÁÖ¼Ò°¡ eip¿¡ ÀÖ´Â ¼ø°£ÀÌÁÒ
±×·¡¼ "AAAA"ÀÚ¸®°¡ [ret]¿¡ µé¾î°£ ÇÔ¼öÀÇ ¸®ÅϾîµå·¹½ºÀÚ¸®, "BBBB"°¡ ù¹øÂ°ÀÎÀÚ ÀÚ¸®°¡ µË´Ï´Ù |
2017/03/24 |
|
| pwnnnt |
±»±»,, ¸íÄèÇÑ ´äº¯ÀÔ´Ï´Ù.
¿ª½Ã ÇØÄð·¯´Ô bb |
2017/03/24 |
|
| vngkv123 |
¿À º½À´Ï´Ù ¿©·¯ºÐ Ç×»ó °¨»çÇÕ´Ï´Ù |
2017/03/24 |
|