완료됨
패스워드 어떻게 구하나요?

패스워드를 구하기 위해서 브루트 포스를 시도했습니다. 패스워드의 길이는 8바이트이고, 그 중 4바이트는 "YISF" 문자열이 포함되어야하므로, 나머지 4바이트에 값에 대해 브루트포싱을 진행했습니다. 추가로 "YISF" 문자열의 인덱스스를 +1씩 늘려가면서도 해봤지만 올바른 패스워드를 찾지 못했습니다. 이 부분에 대해서 조금만 힌트 부탁드립니다 ㅠㅠ

#pwnable
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 2
avatar
wyv3rn
무플 방지 위원회장

암호화 로직을 이해하시고, 복호화 코드를 작성하셔야합니다.
문자열이 아닐수도 있어요.

2024.09.01. 00:42

일단 CRC32 체크섬을 구하는데, 8자리 입력을 read() 함수로 받으므로 8바이트 안에 출력 가능하지 않은 바이트들(null, 제어 문자, 0x80 이상의 바이트 등)이 있을 수 있습니다.
이들은 pwntools 등을 사용하여 넣을 수 있습니다.
CRC32의 총 가지수는 2322^{32}이므로, YISF를 포함하는 8바이트 경우의 수 중 값이 겹치는 것이 분명히 있으므로 이것을 브루트포스를 통해 구해 줍니다.

2025.01.24. 23:51