Level 20 → Level 21
Pwn/Bandit

Level 20 → Level 21

반응형


ls -l 으로 먼저 확인해보니 다음과 같이 나타납니다.

SetUID가 설정된 파일이 하나 나오는군요.

일단 그냥 써서 어떤 식으로 동작하는지 알아보도록 합시다.

 

./suconnect

인자로 port를 주면 localhost를 통해서 접속하여 현재의 비밀번호와 비교해 같으면 다음 level의 비밀번호를 전달해주는 것 같았습니다.

 

그럼 일단 nc 명령어로 localhost에서 9999 port를 열어줍시다.

그리고 해당 port로 접속하면 비교를 위한 현재의 비밀번호를 전달하도록 설정합시다.

echo "GbKksEFF4yrVs6il55v6gwY5aVje5f0j" | nc -l localhost -p 9999 &

(&: 리눅스 작업을 background에서 동작할 수 있게 합니다.)

그러고 나서 jobs 명령어로 현재 동작중인 명령어의 목록을 살펴봤고 잘 동작하는 걸 확인했습니다.

 

이제 해줄 일은 ./suconnect로 지정한 port로 접속하는 것뿐입니다.

그리고 비교해줄 값을 바로 전달해줬습니다.

./suconnect 9999 | echo "GbKksEFF4yrVs6il55v6gwY5aVje5f0j"

 

이렇게 얻을 수 있게 됩니다.


저는 다른 분들의 풀이를 보고 싶어 찾아봤는데 제가 잘못 설정을 한 것인지 localhost로의 접속이

./suconnect 9999 만 써도 되질 않았습니다.

의도치 않게 이상한 풀이가 나오고 말았군요...

반응형