[bandit] Level 5 → Level 6

우주먼지·2024년 4월 5일
0

[War Game]Bandit

목록 보기
7/34

Bandit Level 5 → Level 6
Level Goal
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

Sol)
비밀번호를 따로 기록을 해두지 않으니까 한번 멈추면 처음부터 다시 시작해야한다. 제작자의 의도인지 모르겠지만 0레벨 부터 다시 시작했다.

level 5에서는 비밀번호 파일이 숨겨져 있는데 디렉토리 안에 있는 것 같다.

여러 디렉토리 안에 여러 파일이 있어 find 검색 명령어를 조건 옵션을 이용해 활용해야 할 듯 했다.

문제에서 주어진 조건은 사람이 읽을 수 있고, 1033byte 크기, 실행파일이 아니라는 것.

일단 find 옵션에서 보면 아주 길다.

find [path...][expression] [action]

형태로 사용하는데 검색 조건을 위해 expression으로 -size 옵션과 -type 옵션을 이용해 찾고 action으로 -exec 옵션으로 찾은 파일을 출력하는 것으로 명령을 구성했다.

find ./* -size 1033c -type f -exec head -n -0 {} \;

파일명이 안뜨는 걸 봐서는 딱 한 개의 파일만 조건에 충족했는데 저 파일이 1033byte라는 걸 봐서는 문자열 이후로 다 공백(UTF-8, 1byte)을 채워넣은 듯하다.

find 명령어 옵션을 잘 안써봐서 좀 알아보았다!

expression 옵션

#특정 파일명으로 검색
-name [filename]

#특정 사용자가 소유한 파일로 검색
-user [username]

#특정 파일타입으로 검색
-type [filetype]
	f : 파일
    d : 디렉토리
    l : 심볼릭 링크 (Windows의 바로가기랑 비슷함)
   
#특정 권한으로 검색(chmod 명령어처럼 숫자로 권한 표현)
-perm [permission]

#특정 파일 사이즈로 검색, 음수와 양수 기호로 이상 이하로 선택하여 검색가능
-size ['+' or '-'][filesize][unit] : 
	#사이즈 단위(unit)
    b : 블록
    c : 바이트(character)
    k : 킬로바이트
    w : 워드(2byte)
    M : 메가바이트
    G : 기가바이트
   
#특정 접근시간으로 검색
-atime ['+' or '-'][time]

#특정 수정시간으로 검색
-mtime ['+' or '-'][time]

action 옵션

#검색 후, 특정 command 실행. {}는 찾은 경로들이 들어있는 듯하다. 
#마지막에 '\+'로 바꿀 경우, 찾은 경로들을 command 뒤에 붙여서 나열하여 실행한다.
-exec [command] {} ['\;' or '\+']

#검색 후, 찾은 대상들의 상세 정보 표시
-ls

#검색 후, 경로 표시
-print

그럼 다음으로 넘어가자.

profile
오늘보다 내일 더 문제가 많았으면 좋겠다.

0개의 댓글