티스토리 뷰

728x90
반응형

문제 설명

We've built the most secure networking tool in the market, come and check it out!

 

문제 설명을 보면 "안전한 네트워크 도구"를 만들었다고 하네요.

제공받은 URL로 접속해보면 아래와 같은 페이지가 나옵니다.

 

우측의 Test 버튼을 누르면 Ping 이 입력된 IP로 보내집니다.

 

 

일반적으로 ping 명령이나 traceroute 명령어는 시스템 명령어 중에 하나입니다.

그리고 이런 명령어는 web 에서 시스템 명령을 수행하는 함수로부터 수행되어졌을텐데,

이 때 아래와 같이 명령이 수행됐다고 가정해보겠습니다.

 

import os

os.system("ping 8.8.8.8")

 

그리고 리눅스에서 한 줄에 여러 명령어를 실행할 수 있는 방법이 여러가지 있습니다.

세미콜론을 이용해서 아래와 같이 명령어를 여러 개 실행시킬 수 있습니다.

 

import os

os.system("ping 8.8.8.8; pwd; whoami")

 

위 원리를 이용해서 아래 페이지에서도 IP주소 뒷 부분에 세미콜론을 추가하고 명령어를 실행해보았습니다.

 


그랬더니 위와 같이 /www 란 경로가 현재 경로임을 알 수 있었고,

www 라는 계정으로 로그인되어 있음을 알 수 있었습니다.

 

이제부터는 flag 를 찾아서 출력해야하는데,

flag 의 위치는 루트경로에 있었습니다.

 

 

- 끝 -

728x90
반응형
댓글