반응형

overthewire.org 문제 풀이 / Bandit Level 20 → Level 21

홈 디렉토리에 setuid binary가 있는데, 그 binary는 명령어 전달인자로써 명시한 포트의 localhost에 접근합니다. 그리고 그 접속으로부터 텍스트 한 줄을 읽고, 이전의 레벨 패스워드와 비교합니다. 패스워드가 맞으면 다음 레벨의 패스워드를 전달합니다.  

netcat 명령어로 임의의 포트를 열고 listen합니다. listen하는 것을 background로 돌리기 위해 명령어 줄의 마지막에 &기호를 붙였습니다. 

누군가 접속되면 /tmp/bandit20_pass 파일의 내용을 전달합니다. 

/tmp/bandit20_pass의 내용은 bandit20의 패스워드를 넣어놓았습니다. 

 

홈 디렉토리에 있는 suconnect binary로 netcat 명령어로 만들어 놓은 1234번 포트로 접속하도록 하였습니다. 

접속하면 bandit20의 패스워드를 받고, 그 패스워드가 맞아 bandit21의 패스워드를 획득할 수 있었습니다.

반응형

+ Recent posts