상세 컨텐츠

본문 제목

[bandit] bandit4 -> bandit5

리눅스/bandit

by 해공학(해킹을 공부하는 학생) 2023. 4. 22. 21:37

본문

우선 overthewire 페이지를 해석 해보겠습니다. "inhere 폴더안에 사람이 읽을수있는 파일안에 있어" 라고 말하네요.

그럼 한번 ls 명령어로 bandit4 안에 무엇이 있는지 확인해 보겠습니다.

bandit4@bandit:~$ ls
inhere

이런식으로 inhere 폴더만 뜨네요. 그럼 cd 명령어로 inhere 폴더로 들어가 보겠습니다.

폴더로 들어간뒤 ls 명령어로 무슨 파일이 있는지도 확인 해 보겠습니다.

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

총 9개의 파일이 뜨네요. 이 9개의 파일중 한파일에 사람이 읽을 수 있는 파일안에 비번이 들어 있습니다.

그럼 사람이 읽을수 있는 파일을 찾는 두방법을 소개해 드리겠습니다.

1. 하나하나 확인한다. 

장점 : 무식하게 할수있다. 단점: 나중에 100개 1000개의 파일이 이 대상이 되면 어려워짐

2. file 명령어를 사용한다, 단점 : 한국인 처럼 머리 써야됨

저같은 경우에는 2번을 써가지고 하겠습니다(해커는 무식하면 안됨)

 

자그럼 file 명령어를 살짝 설명 하고 가겠습니다.

file

file은 파일의 종류를 식별해서 알려주는 명령어 입니다.

사용 방법은 ls 와 똑같고 옵션은 아래와 같습니다

  • -b : "brief"의 약자로, 출력 결과를 간략하게 표시합니다.
  • -i : MIME 형식으로 파일의 종류를 표시합니다.
  • -I : "no magic"의 약자로, 마법번호(magic number)를 사용하지 않습니다.
  • -N : "no rewinding"의 약자로, 파일을 다시 읽지 않고 출력합니다.
  • -n : "limit"의 약자로, 파일의 처음 n 바이트만 읽습니다.
  • -m : 마법번호(magic number) 데이터베이스를 사용합니다.
  • -z : 파일의 끝까지 읽지 않고 출력합니다.
  • -L : 심볼릭 링크를 따라가며 파일의 종류를 확인합니다.
  • -h : 심볼릭 링크가 가리키는 파일의 종류를 확인합니다.
  • -v : 상세한 출력 결과를 표시합니다.

이런것 들이 있습니다.

이제 본론으로 돌아 가겠습니다.

 

자그럼 file 명령어를 이용해 file 상대경로를 입력하면...

bandit4@bandit:~/inhere$ file ./*  #이쪽에서 *은 모든걸 의미함
./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: Non-ISO extended-ASCII text, with NEL line terminators
./-file06: Non-ISO extended-ASCII text, with no line terminators, with escape sequences
./-file07: ASCII text
./-file08: data
./-file09: data

이런식으로 할수 있습니다. 그럼 딱 한눈에 봐도 무슨것이 사람이 읽을수 있는 파일인지 아시겠죠?

바로 -file07 입니다. 저 file을 cat을 해보면.. 비번이 lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR 라고 뜨네요.

 

입력한 코드 :

bandit4@bandit:~$ ls
inhere
bandit4@bandit:~$ cd inhere
bandit4@bandit:~/inhere$ ls
-file00  -file02  -file04  -file06  -file08
-file01  -file03  -file05  -file07  -file09
bandit4@bandit:~/inhere$ file ./*
./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: Non-ISO extended-ASCII text, with NEL line terminators
./-file06: Non-ISO extended-ASCII text, with no line terminators, with escape sequences
./-file07: ASCII text
./-file08: data
./-file09: data
bandit4@bandit:~/inhere$ cat ./-file07
lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR

 

정리

file명령어는 file의 종류를 출력한다.

'리눅스 > bandit' 카테고리의 다른 글

[Bandit] bandit0 -> bandit1(ls,cat)  (0) 2023.04.24
[bandit] bandit5 -> bandit6  (0) 2023.04.23
[bandit] bandit3 -> bandit4  (0) 2023.04.22
[bandit] bandit2 -> bandit3  (0) 2023.04.21
[bandit] bandit1 -> bandit2(절대경로, 상대경로)  (0) 2023.04.21

관련글 더보기