728x90
Description
사용자에게 문자열을 입력받아 메모리에 저장하는 프로그램입니다. 저장된 값이 특정 값과 일치하면 플래그를 출력합니다. 알맞은 문자열을 입력하여 플래그를 획득하세요! 플래그는 flag 파일에 있습니다.
플래그의 형식은 DH{...} 입니다.
풀이
step 1. netcat을 통해 해당 서버에 접속해 보았다.
step 2. 코드 확인
unsigned char arr[9];
scanf("%8s", arr);
printf("arr | 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x |\n", arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7]);
unsigned int * int_arr = (unsigned int *)arr;
printf("arr | 0x%x 0x%x |\n", int_arr[0], int_arr[1]);
if(int_arr[0] == 0x64726d68 && int_arr[1] == 0x636b3a29){
puts("Nice!");
puts(flag);
}
else{
puts("No...");
}
0x64726d68과 0x636b3a29를 이어 입력하면 플래그가 나오는 것 같다.
아스키 표를 참고해서 대조해보았더니,
drmh 와 ck:) 가 나왔다.
위에 flag를 넣은 결과를 보면 리틀엔디안 방식이라는 걸 알수가 있고,
"hmrd):kc"를 입력해 보았더니 플래그가 나왔다.
728x90
'dreamhack' 카테고리의 다른 글
[Dreamhack] phpreg (Beginner) (0) | 2024.03.27 |
---|---|
[Dreamhack] Exercise: SSH (Beginner) (0) | 2024.03.27 |
[Dreamhack] Exercise: Welcome-Beginners (Beginner) (0) | 2024.03.19 |
[Dreamhack] Basic_Crypto1 (LEVEL 1) (2) | 2024.02.28 |
[Dreamhack] 64se64 (Beginner) (0) | 2024.02.28 |