welcome
Question info.
이 문제는 서버에서 작동하고 있는 서비스(welcome)의 바이너리와 소스 코드가 주어집니다.
“접속 정보 보기”를 눌러 서비스 정보를 얻은 후 플래그를 획득하세요.
Function analysis
웹과는 관련이 없는 듯 하다.
Code analysis
#include <stdio.h>
int main(void) {
FILE *fp;
char buf[0x80] = {};
size_t flag_len = 0;
printf("Welcome To DreamHack Wargame!\n");
fp = fopen("/flag", "r");
fseek(fp, 0, SEEK_END);
flag_len = ftell(fp);
fseek(fp, 0, SEEK_SET);
fread(buf, 1, flag_len, fp);
fclose(fp);
printf("FLAG : ");
fwrite(buf, 1, flag_len, stdout);
}
서버 측에서 이 C언어로 작성된 파일이 실행되는 듯 하다.
환영한다는 문구와 함께 flag
라는 파일에서 플래그를 읽어와서 출력시키는 형태인 것 같다.
어떻게 접근해야 Welcome To DreamHack Wargame!
이 나올까??
힌트에 netcat
을 사용하라고 되어 있다.
Solve
명령어는 nc host주소 포트번호
이다.
단순히 서버에 연결하는 명령어다.
netcat으로 연결만 해도 답을 주는 문제였다.
netcat으로 서버에 연결할 줄 아느냐고 묻는 문제인 것 같다.
댓글남기기