본문 바로가기

Bandit

bandit level 1->2

해당 게시글은 bandit wargame에 대한 스포일러(방향성/힌트/정답)를 제공할 수 있습니다. 

 

bandit level 2에서 비밀번호를 얻기 위해

명령어의 옵션을 표현하는 -를 파일명으로 인식하게 만들어야 합니다. 

 

 

 

로그인해서 ls 명령어를 입력하면 - 라는 이름의 파일이 있습니다. 

 

-는 터미널에서 명령어의 옵션을 입력하기 위한 기호와 같기 때문에

파일을 읽으려면 옵션이 아니라 데이터라고 명시해주어야합니다. 

 

 

만약 그냥 -를 입력하여 읽으려고 하면

어떤 말을 입력하든 표준 입력(stdin)으로 받아들여 표준 출력(stdout)으로 내보내는 상태가 계속됩니다.

 

해당 상태에서는 사용자의 입력이 명령어로 입력되지 않으므로 Ctrl + c 키를 눌러서 나와줍니다. 

 

 

 

-를 읽는 방법은 2가지가 있습니다. 

 

방법 1. 현재 파일의 경로 명시

cat ./-		# 현재 위치(.)의 파일(-)을 읽어라.

 

 

방법 2. 쉘(shell)의 리다이렉션 기능 이용

cat < -		# 쉘(shell)이 -를 열어서 cat의 인자(stdin)로 연결





추가로, 파일명이 -가 아니라 -로 시작되는 파일(예 : -file)이라면 아래와 같이 우회하는 방법도 있습니다.

cat -- -file		# 옵션은 없고(--뒤에 아무것도 없기 때문), -file을 읽어라

 

다만, bandit의 경우에는 파일명이 -이므로 표준입력을 가르키는 명령어로 먼저 입력됩니다. 

방법 1이나 2로 우회하여 비밀번호를 알아내시면 됩니다. 

 

'Bandit' 카테고리의 다른 글

Bandit Level 4 -> Level 5 (wildcard?)  (0) 2026.01.11
Bandit Level 3 -> Level 4 (command : cd)  (0) 2026.01.10
Bandit Level 2 -> Level 3  (0) 2026.01.10
Bandit Level 0 -> Level 1 (command : ls, cat)  (0) 2026.01.09
Bandit Level 0  (0) 2026.01.07