level 7을 로그인 후 hint를 본다.
일단 무슨 파일인지 알아보기 위해 찾는다.
user는 level8, group은 level7 현재 level7에 있으니 SetUID가 걸린 프로그램을 변경할 수 없으니 권한에 따라 실행을 할 수밖에 없다.
실행하면 비밀번호를 입력하라고 한다.
입력하면 오류가 난다.
이 오류는 개인이 F.T.Z 서버를 열어서 하는 경우 생기는 것이라고 한다.
이때 직접 root 계정으로 접속해 wrong.txt를 만들어주면 된다.
bin 디렉터리에는 level7 계정으로는 파일을 만들 수 없으므로 root 계정에 로그인해야 한다.
root 계정의 로그인은 su root 명령어로 로그인하고 비밀번호는 레드햇에 root에 들어가는 같은 비밀번호인 hackerschool이다.
wrong.txt를 생성할 때 밑 내용까지 넣어주어야 한다.
그래야 level7으로 복귀 후 level7을 실행시켰을 때 오류가 없던 것처럼 나온다.
오류를 직접해결 해서 뭔가 이미 알아버린 것 같지만 그래도 처음 하는 것처럼 level7을 풀어야 한다.
비밀번호는 가까운 곳에 있다면서 새로운 힌트를 준다.
"--_--_- --____- ---_-__ --__-_-"
힌트를 종합해 보자.
hint 파일
1. 패스워드는 가까운 곳에 힌트는
"--_--_- --____- ---_-__ --__-_-"
이 문자를 주는 힌트였다.
2. 상상력을 총동원하라.
이 힌트는 1번의 문자가 무엇인지 무엇을 뜻하는지 상상력을 총동원하라는 힌트지만 3번에서 상상력에 대한 힌트를 주고 있다.
3. 2진수를 10진수로 바꿀 수 있는가?
이 힌트로 인해 1번의 문자가 2진수라 생각이 든다. 1번의 문자를 2진수로 바꾼 후 10진수로 바꿔야 한다.
4. 계산기 설정을 공학용으로 바꾸어라
이 힌트는 3번의 일을 쉽게 할 수 있게 해주는 힌트다.
즉, 2진수를 10진수로 바꿀 때는 공학용 계산기를 사용해서 쉽게 바꿀 수 있다는 것이다.
1번의 문자를 생각해보면서 계산기에 2진수를 입력해야 한다. "-"이게 0인지 "_"이게 0인지 알 수가 없다.
먼저 "-"에 0을 넣어서 분석해보자.
0010010 0011110 0001011 0011010
2진수를 10진수로 바꿔보자.
0010010 : 18
0011110 : 30
0001011 : 11
0011010 : 26
18, 30, 11, 26이 비밀번호인가?
이건 아니었다.
다시 "-"에 1을 넣어서 2진수를 10진수로 바꿔본다.
1101101 : 109
1100001 : 97
1110100 : 116
1100101 : 101
109, 97, 116, 101이 비밀번호인가?
이것도 아니었다.
여기서 다시 생각해봐야 할 것은 2진수에서 10진수로 바꾼 숫자들의 의미를 생각해봐야 한다.
아스키 코드를 알아야 한다. 아스키 코드란 ASCII로 미국정보 교환 표준 부호다.
아스키 코드는 검색하면 아주 자세한 내용이 많아서 생략한다.
2진수에서 10진수로 바꾼 두 수를 아스키 코드에 대입해보면 첫 번째로 나온 숫자는 코드표에 있긴 하지만 비밀번호로서 입력할 수 없는 기능들이 부여되어 있다.
그래서 두 번째 나온 109, 97, 116, 101을 아스키 코드에 대입해보면
109 : m
97 : a
116 : t
101 : e
즉, mate가 나오게 된다. level 7을 실행시키고 mate를 입력하면 level 7이 해결된다.
'System Hacking > 해커스쿨 F.T.Z Hacking Zone' 카테고리의 다른 글
해커스쿨 F.T.Z Level 9 (0) | 2020.02.18 |
---|---|
해커스쿨 F.T.Z Level 8 (0) | 2020.02.14 |
해커스쿨 F.T.Z Level 6 (0) | 2020.02.13 |
해커스쿨 F.T.Z Level 5 (0) | 2020.02.11 |
해커스쿨 F.T.Z Level 4 (0) | 2020.02.07 |
댓글