반응형

https://overthewire.org/wargames/bandit/bandit5.html

 

OverTheWire: Level Goal

We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “r

overthewire.org

 

Bandit Level 4 → Level 5


Level Goal
The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command.

Commands you may need to solve this level
ls , cd , cat , file , du , find

 

ls : 현재 내 위치에 존재하는 데이터를 보여줌

cd : Change Directory, 말 그대로 디렉토리 경로를 이동

cat : 파일이나 데이터의 내용을 출력

du : 디스크나 용량 확인

find : 리눅스 파일 시스템에서 파일을 검색하는데 사용되는 명령어

 

레퍼런스

https://coding-factory.tistory.com/804

 

[Linux] 리눅스 find 명령어 사용법 (파일 찾기, 검색)

find 명령어 리눅스의 find 명령어는 리눅스 파일 시스템에서 파일을 검색하는 데 사용되는 명령어입니다. 다양한 표현식을 사용하여 원하는 파일의 목록을 추출할 수 있습니다. 리눅스 find 사용

coding-factory.tistory.com

 


문제 해석

패스워드는 inhere directory안에 오직 인간만이 읽을 수 있는 파일에 있다. 화면이 좀 지저분하면, reset을 추천한다. 

 

bandit4@bandit:~$ ls
inhere
bandit4@bandit:~$ file inhere
inhere: directory
bandit4@bandit:~$ cd inhere
bandit4@bandit:~/inhere$ ^C
bandit4@bandit:~/inhere$ ls
-file00  -file01  -file02  -file03  -file04  -file05  -file06  -file07  -file08  -file09

우선 inhere directory로 경로를 이동한다.

그리고, inhere idrectory에 -file00 ~ file09까지의 여러 파일이 있다

 

자, 여기서 "나는 저 파일을 다 확인하면 되겠는데?"라고 생각하는 분이 있다면, 한 손을 들어올려 자신의 뺨을 쳐주세ㅇ...

본인 이야기다.

 

우리는 해커가 될 거니까, 좀 더 인텔리한 방법을 찾아보자

 

 

bandit4@bandit:~/inhere$ file -file00
file: Cannot open `ile00' (No such file or directory)

문제에서 the only human-readable file라는 문구가 있어서 file 명령어로 파일의 형태를 알아본다.

그러나, -file00은 -가 선두에 오는데, 이 경우에는 상대경로를 활용하여 확인할 수 있다

 

 

bandit4@bandit:~/inhere$ file ./-file00
./-file00: data
bandit4@bandit:~/inhere$ file ./-file01
./-file01: data
bandit4@bandit:~/inhere$ file ./-file02
./-file02: data

이렇게 -file00 부터 -file09까지 확인할 수 있지만, 우리는 해커다.

조금 더 편하게 보기 위해 와일드카드를 활용하자

 

bandit4@bandit:~/inhere$ file ./*
./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: data
./-file06: data
./-file07: ASCII text
./-file08: data
./-file09: data

-file07은 파일 형태가 ASCII text로 되어있다. 즉, the only-human readable file에 적합한 상태이다.

이제 -file07을 cat 명령어로 출력해보자

 

bandit4@bandit:~/inhere$ cat ./-file07
4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw

So easy하게 풀리는 문제다

 

 


정리

1. the only-human readable file단서가 file 명령어로 확인할 수 있다는 것을 추론한다

2. -로 시작된 파일은 상대경로로 접근하면 확인할 수 있다

반응형

'네트워크 공부 > bandit' 카테고리의 다른 글

[Bandit] Level 6 -> Level 7  (0) 2024.07.19
[Bandit] Level 5 -> Level 6  (0) 2024.07.19
[Bandit] Level 3 -> Level 4  (0) 2024.07.18
[Bandit] Level 2 -> Level 3  (0) 2024.07.18
[Bandit] Level 1 -> Level 2  (0) 2024.07.18

+ Recent posts