[드림핵] welcome

SONG's 보안·2024년 3월 26일

드림핵

목록 보기
17/33

1. 코드 분석

#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);
}

아까 본 Welcome To DreamHack Wargame! 이라는 문구를 출력한 후, 파일 포인터를 이용해서 /flag 파일을 읽어온 뒤, 유저에게 열어서 보여준다.


2. 문제 풀이

이 문제는 서버에 접속만 가능하다면 바로 풀 수 있는 문제이다.
즉, 우분투를 이용해서 드림핵에서 발급받은 서버에 접속하면 된다.

서버에 접속하는 방법은 2가지이다.

  • 웹브라우저를 이용한다. 브라우저 구성은 http://[호스트 이름]:[포트번호] 이렇게 되어있으므로 위 형식을 쓰면된다.

  • 인프런 강의에서 배운 nc [호스트 이름] [포트 번호]를 이용하면 호스트 이름을 가진 컴퓨터에서 실행되고 있는 [포트번호] 프로그램에 접속해줘 라는 뜻이 된다.

우리는 두번째 방법을 이용해야한다.
먼저 nc를 써야하기 때문에 아래 명령어를 설치해준다.

sudo apt-get install netcat

그런 다음 드림핵에서 열은 서버 주소를 이용한다.

profile
前) SWLUG 27기

0개의 댓글