문제
Level17.
There are 2 files in the homedirectory: passwords.old and passwords.new. The password for the next level is in passwords.new and is the only line that has been changed between passwords.old and passwords.new
NOTE: if you have solved this level and see ‘Byebye!’ when trying to log into bandit18, this is related to the next level, bandit19
리눅스 diff 명령어
diff 명령어는 두 파일을 한 줄씩 비교할 수 있는 명령어입니다! 그리고 파일뿐만아니라 디렉토리의 내용도 비교할 수 있습니다.
파일 내부의 줄마다 다른 내용이 있다면 그것을 비교해서 다른 점을 추출해주게 돼요.
diff 사용법
diff [OPTION] [비교파일들]
diff 옵션 종류
- default : 시스템의 포트에 대한 정보 리턴
- -c : 파일간의 차이점 출력
- -d : 파일간의 차이점 상세하게 출력
- -r : 디렉터리간의 차이점 서브 디렉터리까지 비교 출력
- -i : 대소문자 무시하고 비교 출력
- -w : 공백 무시 비교 출력
풀이
이 문제는 지난 문제에서 bandit17 계정을 정복하고 와야해요!
제가 지난 시간에 들어간 계정 bandit17에서 시작을 하도록 합시다.
- bandit16을 풀면 bandit17 계정으로 로그인 상태
- 로그인 후 홈디렉터리에서 passwords.new passwords.old 에서 다른 줄 확인
- bandit18 패스워드 알기!
그러면 이제 시작해보도록 합시다!
먼저 홈 디렉터리에 어떤 파일이 있는지 확인을 해볼까요
윽.... 보기만해도 하나씩 파일을 비교하며 눈 빠지는 일 없으시겠죠...?!
이전에 풀었던 level8 내용을 공부하면 어떤식으로 문제를 풀면 좋을지 알 수 있을텐데요!
바로 중복 단어 제거에 사용했던 sort와 uniq를 통해서 내용을 비교할 수 있는 방법이 있어요
하지만! 오늘은 배웠던 내용이 아닌 diff를 이용해서 풀이해보도록 할게요!
diff passwords.new passwords.old
diff 명령어는 위에서 배웠다싶이 두 파일간의 비교를 통해 다른점을 확인할 수 있어요.
헉 .... 이렇게 쉽게 나와버릴줄이야. ...
uniq를 이용하면 두 파일을 합친 후, sort 파일명 | uniq -u 를 통해서 확인해야하지만 diff는 한번에 이렇게 비교해준답니다.
이제 두가지 중에 하나라는 것을 알았으니 하나씩 로그인해보면 되겠죠?! (직접 진행한 후 패스워드를 확인해보세요!)
더보기를 눌러 비밀번호를 확인하세요!
비밀번호는 다음과 같다.
Level17. glZreTEH1V3cGKL6g4conYqZqaEj0mte or hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg
'Bandit' 카테고리의 다른 글
리눅스 nmap 포트 스캔 | Bandit Level 16 -> Level 17 (0) | 2023.09.03 |
---|---|
리눅스 ncat SSL 네트워크 통신 | Bandit Level 15 -> Level 16 (0) | 2023.09.03 |
리눅스 nc 데이터 전송 명령 | Bandit Level 14 -> Level 15 (1) | 2023.09.02 |
리눅스 ssh key 접속 / RSA 공개키 암호화 | Bandit Level 13 -> Level 14 (0) | 2023.09.01 |
리눅스 압축 풀기 gzip, tar, bzip2 | Bandit Level 12 -> Level 13 (0) | 2023.08.31 |