본문 바로가기

Hacking/war-game

OTW: Bandit level 5 -> level 6 (힌트)

728x90
반응형

이번 문제의 해결 관건은 주어진 조건들을 잘 활용해서

수많은 디렉터리와 파일 중 원하는 데이터만 추려내는 것이다.

 

 


 

 

위에 나온 조건들을 보자 

1. 닝겐이 읽을 수 있는 파일

2. 1033바이트 크기인 파일

3. 실행할 수 있는 파일

 

 

(사실 꿀팁 하나 알려주자면, 1033바이트 크기의 파일을 찾는 조건 명령문만 으로도 password를 찾을 수 있다.)

 


인간이 읽을 수 있다는 건???

 

 

파일이 txt 파일이 거나 ASCII코드로 이루어져 있다는 의미!

 

 

그럼 조건에 맞게 

find 명령어로 찾아주자.

 

 


 

우선 txt 파일이다?

 

현재 디렉터리에서 찾고 싶으면 

 

find -name '*.txt'

를 입력하자.

결과.

 

 

 


 

 

 

다음은 아스키코드 입력된 파일을 찾아보자.

 

find ./* grep ASCII

 

 

 

아스키코드로 입력된 elgo라는 파일과 test.txt라는 파일이 나온다.

 

 

 


다음은 1033바이트 크기인 파일 찾기

 

 

보통 사이즈 찾는 find 명령어는 다음과 같다.

 

find ./* -size [사이즈 값]

 

 

여기서 주의할 점이 있다!!!!11!!!!

 

 

보통 byte를 표현할 때 앞 글자를 따서 b라고 쳐서 검색하는데

 

find ./* -size 1033b

(요롷게)

 

 

 

그럼 기준을 512 바이트 단위로 끊기 때문에 우리가 찾으려 하는 정확한 1033 바이트를 찾을 수가 없다.

 

 

 

해결 책으로는 b대신에 c를 사용해야 한다.

 

find ./* -size 1033c


다음은 exe 파일이 아닌 것을 찾기

 

 

간단하다. 그냥

 

find ./* -not -executable

 

직관적으로 명령어의 의미를 파악할 수 있다.

 

 

결과는?

 

 


 

 

여기까지가 이번 문제에서 필요한 개념의 끝이다. 

 

 

조건들을 잘 조합해서 명령문을 완성하면 딱 한 가지의 파일이 검색될 것이다.

그럼 거기에 입력돼있는 값이 정답이다. 

(도저히 못 찾겠다 싶으면 ㅋㅋ 위에 올린 꿀팁 참조. 1초 만에 찾을 수 있다.)

 


주의!!!!notice!!!!!

OTW의 공식 문서에 따르면

OTW는 정답 유출을 금지한다. 때문에 나는 힌트만 올릴 것이다. 나머지는 알아서.

I  post only hints for solving problems,

NOT WRITENUPS OF ANY SOLUTIONS.

 

 

つづく...

728x90
반응형