김승현

[OverTheWire] Bandit Level 15 → Level 16 본문

Linux/OverTheWire : Bandit

[OverTheWire] Bandit Level 15 → Level 16

kshind 2023. 2. 18. 22:29

문제

문제 원문

다음 단계로 가기 위해서 localhost 포트 30001에 현재 레벨의 password를 입력해야 된다고 하며 

SSL 암호화를 이용하라고 한다.

 

주어진 명령어

주어진 명령어를 보면 openssl이 있는데 딱봐도 이 명령어를 사용하면 될 것 같다.

풀이

ls al한 화면

ls -al을 해보면 기존에 항상 있던 폴더들 외에 bandit14.password라는 파일이 있다.

파일을 실행해보면 bandit14의 password가 이름대로 있다. 근데 지금 푸는데 필요한 건 15의 password인데 왜 있지..?

일단 넘어가자

 

혹시나 해서 ssl, telnet, nc 모두 사용해 봤는데 당연히 되지 않는다. 

openssl을 사용하기 위해 어떤 옵션들이 있는지 보고 있는데 중간에 익숙해 보이는 s_client라는 단어가 있었다. 잘 떠올려보면 s_client는 문제 푸는데 필요한 명령어로 주어져 있었다. 

사용법은 opeenssl s_client [옵션] [호스트:포트]라고 한다.

 

옵션들을 자세히 보다보면 네트워크 옵션들을 볼 수 있다.

그리고 우리는 호스트와 포트가 모두 필요하니까 connect val을 사용하면 될 것 같다.

openssl s_client -connect localhost:30001


read R BLOCK 아래에 입력을 할 수 있다.

사용법에 맞춰 입력하게 되면 중간을 생략했지만 엄청 길게 이상한 내용들이 뜨고 마지막에 입력할 수 있게 되어있다.

거기에 이번 bandit15의 password를 입력하면 될 것 같다.

bandit15의 password를 입력하면 Correct!가 뜨면서 다음 16의 password가 뜨는 걸 확인할 수 있다!

 


s_client에 대해서 더 자세히 알아보고 싶으면 여기 블로그를 보는 것도 좋은 것 같다! 되게 정리가 깔끔하게 되어 있다.

 

[OpenSSL] s_client

# s_client ?? -> SSL/TLS client Program -> openssl 명령으로 운영중인 웹서버의 SS...

blog.naver.com

 


다음 문제

https://kshind.tistory.com/18

 

[OverTheWire] Bandit Level 16 → Level 17

풀이 localhost의 31000~32000 포트 사이에서 하나의 서버에 이번 단계의 password를 입력하면 된다고 하는 것 같다. 문제를 보고 하나하나 다 시도를 해봐야 되나..?라고 생각했는데 필요한 명령어에서 n

kshind.tistory.com