The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:
human-readable
1033 bytes in size
not executable
cd
명령어를 사용하여 inhere
로 이동한 후, Level 4 → Level 5와 동일하게 ls
명령어로 내부 파일들을 확인하였다. 이전 단계보다 많은 양의 파일이었기 때문에, 마찬가지로 하나하나 열람하는 것은 불가능하다.
수많은 파일과 디렉터리를 효율적으로 파악하기 위해서 find
명령어를 사용하였다. 이번 단계에서는 find
명령어의 expression
을 사용해보았다. 'Level Goal'에서 요구하는 1033 bytes in size
를 얻어내기 위해서는 find의 표현식인 -size
를 이용해야 한다.
find -size 1033c
→ ./maybehere07/.file2
여기서 알아두어야 하는 부분은 파일의 크기가 1033 byte임으로, 1033 뒤에 c
를 적어야 한다. c
는 'characters' 또는 'bytes'를 뜻하는 것으로, 이를 suffixes
라고 한다. Suffixes는 아래의 리눅스 명령어 part에서 간단하게 다루었다.
Bandit6 Password : P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
find
명령어는 일반적인 리눅스 명령와는 다르게, option보다 expression이 더 많이 사용된다. 그 이유는 find 명령의 검색 결과가 지정된 표현식의 조합에 따라 다르게 결정되기 때문이다. 이전 단계에서도 다루었던 명령어지만, expression
을 중심으로 적어두었다.
해당 표현식 뒤에 걸맞는 file name이나 문자열, file type 등을 적을 수 있다.
-size
: 특정 파일의 크기를 필터링.-name
: 지정된 문자열 패턴에 해당하는 파일 검색.-empty
: 빈 디렉토리 또는 크기가 0인 파일 검색.find
명령어의 -size
표현식을 사용할 때는 파일 크기를 다루기 때문에 크기를 나타내는 suffix
를 사용해야 한다. (stack overflow에서 서치한 결과인데, 정확하게 한국어로는 뭐라 말하는지 몰라 단어 그대로 사용하였다.)
b
: 512 바이트 block (suffix가 사용되지 않을 때의 초기 값이라고 한다. byte에 대한 이해가 있다면 알 수 있을 것 같으나, 현재로서는 정확히 무슨 뜻인지는 모르겠다.)c
: bytesw
: two-byte 단어k
: 킬로바이트 (1024 bytes)M
: 메가바이트 (1048576 bytes)G
: 기가바이트 (1073741824 bytes)