1. 풀이
nc로 연결하면 키 입력이라고 뜨고 입력하면 아무 반응이 없다.
메인 함수 부분을 보면 check_key 함수가 있는데 여기서 키를 검사하는거 같고 키가 일치하면 flag를 출력해준다. check_key 함수를 확인해 보자.
check_key 함수를 보면 encoding 함수가 보이고 strcmp에서 "OO]oUU2U<sU2UsUsK" 문자열과 비교를한다. 즉 이 문자열과 일치하면 flag 값을 읽을 수 있다.
encoding 함수를 보면 이 함수에서 입력받은 문자열을 encoding하고 check_key 함수에서 본 문자열과 비교를한다. 그렇다면 위 문자열 그대로 decoding 하는 코드를 짜면 될 것 이다.
j의 범위를 33, 126까지 한거는 우리가 입력할 수 있는 값만 범위로 지정해줬다.
key 값이 나왔다. 이제 키를 입력을하면 되는데 우리가 입력을할때 fgets를 통해 입력을 받았다. fgets 특성상 '\n'인 개행문자 까지 읽는다 그렇기 때문에 key를 입력할때 & 하나를 빼주고 key를 입력하면 된다.
'Wargame > HackCTF' 카테고리의 다른 글
Pwning (0) | 2021.03.23 |
---|---|
Gift (0) | 2021.03.23 |
Look at Me (0) | 2021.03.21 |
Random Key (0) | 2021.03.21 |
Strncmp (0) | 2021.03.19 |
댓글