728x90
반응형
Level 4 → 5 문제 풀이 드가자.
문제를 보면 inhere 디렉토리 하위에 사람이 읽을 수 있는 파일이 1개 있다고 한다.
이 파일에 다음레벨로 갈 수 있는 패스워드가 있다.
ls를 통해 inhere 디렉토리는 홈디렉토리 밑에 있음을 확인하였고,
inhere 디렉토리 하위에는 10개의 파일이 존재했다.
물론 일일히 다 열어봐도 문제는 풀리겠지만, 문제의 취지에 맞지않기 때문에 명령어를 통해 풀어보도록 하겠다.
우선 inhere 디렉토리 안에 있는 파일들의 종류를 확인하기 위해 find와 file 명령어를 사용하였다.
find의 -exec 옵션을 이용하여 file 명령어를 실행시켰고, 그 결과 -file07만 ASCII문자로 된 텍스트 파일임을 확인할 수 있었다.
즉 -file07 파일만이 사람이 정상적으로 읽을 수 있는 파일이다.
cat을 통해 읽어주게 되면, 패스워드가 나타나게 된다.
하지만 여기서 마무리하기에는 아쉬워, 조금 더 고급 버전으로 한줄의 명령어로 답까지 찾아보았다.
순서는 아래와 같다.
- find 명령어의 -exec 옵션을 이용하여 inhere 디렉토리 내 모든 파일에 file 명령어를 수행
- pipe로 전달받은 1번 결과에서 text라는 문자가 있는 행을 grep한다.
- grep한 데이터를 콜론(:)을 기준으로 분리하여 첫번째 값만 출력한다.
- 3번에서 출력된 결과를 pipe를 통해 전달받은 뒤 xargs를 이용해 cat의 인자로 사용한다.
끝!
728x90
반응형
'System > OverTheWire Bandit' 카테고리의 다른 글
[OverTheWire Bandit] Level 5 → 6 문제 풀이 (0) | 2021.10.09 |
---|---|
[OverTheWire Bandit] Level 3 → 4 문제 풀이 (0) | 2021.10.09 |
[OverTheWire Bandit] Level 2 → 3 문제 풀이] (0) | 2021.10.09 |
[OverTheWire Bandit] Level 1 → 2 문제 풀이 (0) | 2021.10.09 |
[OverTheWire Bandit] Level 0 → 1 문제 풀이 (0) | 2021.10.09 |