Dreamhack/Dreamhack Wargame (Challenge)

[8] IT 비전공자 [dreamhack] Exercise: Welcome-Beginners 문제 풀기

imaginefuture-1 2024. 9. 23. 09:20

 

비기너들 반갑다는데 ㅎㅎ 반가워해주니 고맙네

8번째 문제 가보자~

문제다

풀이는 최신 블로그를 참고했다.. 몇년 된 글들은 간혹 문제가 다른 경우가 있어서 제일 최신글을 앞으로 보기로했다!

 
// Name: chall.c
// Compile Option: gcc chall.c -o chall -fno-stack-protector

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>

#define FLAG_SIZE 0x45

void init() {
	setvbuf(stdin, 0, 2, 0);
	setvbuf(stdout, 0, 2, 0);
}

int main(void) {
    int fd;
    char *flag;

    init();

    // read flag
    flag = (char *)malloc(FLAG_SIZE);
    fd = open("./flag", O_RDONLY);
    read(fd, flag, FLAG_SIZE);

    char cmp_str[10] = "Dreamhack";
    char inp_str[10];   
    printf("Enter \"Dreamhack\" : ");
    scanf("%9s", inp_str);

    if(strcmp(cmp_str, inp_str) == 0){
        puts("Welcome Beginners!");
        // print flag
        puts(flag);
    }
    
    return 0;
}

 

 

소스코드다

블로그에서 설명 방식에는

1.우분투 이용

참고로 우분투는 리눅스 기반 os다

우분투

- 가장 널리 쓰이는 리눅스

- AI 개발에 특화

- 초심자가 쓰기 좋음

-> 윈도우 설치 가능(WSL)

https://velog.io/@ghldjfldj/%EB%A6%AC%EB%88%85%EC%8A%A4Linux%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

2.cmd창에서 telnet 명령어 입력 방법을 사용하라했다

2. telnet

cmd 접속 후 telnet 명령어

telnet host3.dreamhack.games 21090

 

참고로 여기서 telnet뜻은

https://kh-guard.tistory.com/8

 

일반인들도 익숙한 단어다 "원격 접속 서비스"

아무튼 cmd 접속 후 telnet 명령어를 입력했는데

아마 dream 호스트에 들어가야하는? 그런 명령어가 앞에 있어야하는데...젠장..우분투 방법을 써야하나..

우분투..우분투 구글링 시작

https://m.blog.naver.com/hcltech/223046233988

 

그렇게 1번부터 따라했는데...(공식 홈페이지에서 파일 다운로드)

2. Ubuntu 부팅 USB 만들기

Ubuntu 설치를 위해서는 USB 부팅 디스크가 필요합니다.

새 USB를 사용한다면 Rufus나 Unetbootin 등의 프로그램을 사용하여 부팅 디스크를 생성해야 합니다.

??????

하..

살려줘...

usb..새거 사야하나요? 이거 문제 풀려면? (진심으로 궁금)

 


 2024-09-29

 

 

하!!!!!!!!!!!!!!!

vm 깔아서 우분투 깔아서 풀었다!!!!!!!!!!!

드디어!!!!!!!!!!!!