티스토리 뷰
원래는 문제, 해설, 개념 순으로 작성했는데,
이제 문제->개념->해설 순으로 작성하려고 합니다.
개념은 보통 제가 문제를 풀면서 새롭게 알게 된 개념 위주이며,
OverTheWire 사이트에서 추천해준 "Helpful Reading Material" 을 번역본으로 읽고
정리하거나, 구글링을 통한 정보입니다.
Problem
The password for the next level can be retrieved by submitting the password of the current
level to port 30000 on localhost.
=> port번호가 30000인 localhost 에 현재 레벨의 비밀번호를 제출함으로써
다음 레벨의 비밀번호를 얻을 수 있다
라고 하네요.
Concept
우선 문제에서 잘 모르는 용어들을 정리해볼게요.
port : TCP/IP를 사용할 때 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용
TCP/IP : 인터넷 네트워크의 핵심 프로토콜
[참조 : 포트 (naver.com) / TCP/IP : 네이버 지식백과 (naver.com)]
localhost : 컴퓨터 네트워크에서 사용하는 루프백 호스트명.(자신의 컴퓨터를 의미)
로컬 컴퓨터를 원격 컴퓨터인 것처럼 통신할 수 있어 테스트 목적으로 주로 사용
[참조 : localhost - 위키백과, 우리 모두의 백과사전 (wikipedia.org)]
Telnet : 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜.
원격 구성 서비스를 제공하나 보안 문제가 있어 ssh로 대체됨.
[참조 : 텔넷 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)]
리눅스 ssh 다른 포트로 접속 -p - 제타위키 (zetawiki.com)
ssh_exchange_identification: Connection closed by remote host - 제타위키 (zetawiki.com)
[네트워크] 텔넷(telnet) 명령어 - 포트(Port) 확인 :: 확장형 뇌 저장소 (tistory.com)
Solution
우선 ssh를 이용하여 bandit15에 접속해보려고 했다.
그런데 저런 에러가 발생...
해결하려고 구글링을 해보니, 서버 측에서 모든 IP에서의 ssh 접속을 제한했기 때문이라고 한다.
이를 해결하려면 /etc/hosts.allow에 개인 IP주소를 추가해주면 된다.
그런데, 우리는 putty를 이용하여 터미널을 이용하는 중이라,
수정을 어떻게 해야 할지 잘 몰라서 그냥 다른 방법을 찾아봤다.
위의 오류가 뜨는 이유를 찾아보다 보니, SSH 보안 강화 때문이라는 사실을 알게 되어서,
SSH 이전에 사용하던 Telnet을 사용하기로 했다.
위 사진에서 설명할 내용은
telnet 명령어의 형태는
telnet [ IP or 도메인 ] [포트]
이런 형태이다.
그런데 우리는 localhost라는 주소를 사용할 것이다.
왜냐하면, 우리에게 주어진 도메인은 없고,
IP 라는 것이 컴퓨터의 주소를 나타내는 것인데,
문제에서 주어진 내용 중 우리가 주소로 사용할 수 있는 자료는 localhost 밖에 없기 때문이다.
심지어 localhost는 앞서 설명한 것처럼 로컬 컴퓨터를 원격 컴퓨터인 것처럼 사용하기 위해
테스트 목적으로 자주 사용됨을 알고 있기 때문에 바로 사용할 수 있었다.
오늘 내용은 여기까지~