Iriton's log

[Dreamhack] Beginner: welcome 본문

Pwnable/Wargame

[Dreamhack] Beginner: welcome

Iriton 2024. 4. 2. 22:14

 

 

welcome

Description 이 문제는 서버에서 작동하고 있는 서비스(welcome)의 바이너리와 소스 코드가 주어집니다. "접속 정보 보기"를 눌러 서비스 정보를 얻은 후 플래그를 획득하세요. 서버로부터 얻은 플래

dreamhack.io

리버싱 문제를 풀다가 nc 명령어로 지정된 호스트와 포트번호를 활용해서 서버에 접속할 수 있다는 걸 깨달았기에 써먹어 봤다.

 

플래그가 바로 떴다.

허무...

 

그래도 코드 분석을 해보자.

 

 

flag 폴더를 연다.

fseek 함수는 파일 포인터를 이동시키는 함수이다. 

ftell은 현재 위치를 long 타입 정수형으로 출력한다. 현재 위치가 파일의 끝이기 때문에(SEEK_END로 끝까지 이동했다.)파일 전체 크기를 반환해서 flag_len 변수에 넣은 거다.

다시 처음으로 fp를 이동시키고 flag_len 크기만큼 buf에 저장한다.

표준출력으로 그 값을 출력하는 게 마지막 줄이다.

그래서 서버 접속하니까 해당 프로그램이 실행돼서 자동으로 flag 출력이 됐던 것이다.

 

Comments