카테고리 없음
random-test 문제 풀이
lriyan
2024. 9. 1. 22:53
풀이 방법에 접근조차 못하겠어서 다른 사람의 풀이를 보고 문제를 풀었다.
코드를 확인해보면 특정 값이 참일경우 good을 반환하는데 이를 확인하여 한글자씩
id와 비밀번호를 알아내는 방법으로 문제를 풀 수 있다.
코드를 확인해보면 사용자의 입력값은 locker_num에 저장되며 locker_num의 길이만큼 무작위로 설정된 rand_str, 즉 id와 비교하여 일치하면 good, 다르면 wrong를 반환하는것을 확인할수 있다.
이때 locker_num의 길이만큼 비교를 실행하기에 한글자만 입력해도 그 글자가 일치하다면 good을 반환할것이다.
예를 들어 id를 "asdf" 라고 가정하고 사용자가 'd' 만을 입력했다 한다면 위 코드는 'a' 와 'd' 만을 비교할것이다.
따라서 만약 사용자가 'a' 를 입력한다면 id인 "asdf" 의 앞글자인 'a'와 일치할것이므로 리턴값을 good이 될것이다.
이 방법으로 한글자씩 모든 문자를 대입해보며 good이 리턴된 문자만 저장한다면 충분히 id를 알아낼수 있다.
비밀번호는 rand_num에 100~200 사이의 무작위 숫자로 저장된다.
id와 마찬가지로 비밀번호 또한 100부터 200까지 숫자를 하나씩 입력하다보면
특정 번호를 입력했을때 사이트에 로그인이 될것이다.