이번 문제는 톰캣 서버로 개발을 시작하였는데 서비스의 취약점을 찾아 플래그를 획득하라고 한다.
플래그는 /flag 경로에 있다고 한다.
먼저 접속해보자. 사이트를 접속하면 image.jsp 의 파라미터로 png 파일을 호출한다.
그럼 호출되는 경로를 바꿔보면 어떨까?
역시 그렇게 쉽진 않나보다. 혹시 저 주소를 조작하면 파일을 얻을 수 있지 않을까? 그래서 index.jsp 를 호출해보았더니 나타났다.
다른 이름으로 저장하여 텍스트를 열어보니 jsp 파일 그대로였다.
문제를 줄 때 tomcat-users.xml 위치도 같이 줬다. 그럼 해당 xml 파일을 보면 Tomcat Manager에 대한 크리덴셜을 얻을 수 있을 것이다.
경로를 바로 입력해 보았다. 하지만 404 오류가 뜬다.
index.jsp 처럼 상대경로로 해당 파일을 찾아보았다. 다행이 해당 파일을 찾을 수 있었다.
마찬가지로 다른 이름으로 저장하여 파일을 열어보니 username 은 tomcat 에 비밀번호를 얻을 수 있었다.
해당 크리덴셜을 가지고 Tomcat Manager 에 접속했다. 문제 없이 접속이 가능했다.
Tomcat Manager 에서는 톰캣에서 사용하는 war 파일을 배포하고 관리할 수 있다. 따라서 웹쉘 war 파일을 올릴 수 있으며 실행시킬 수 있다는 뜻이다.
인터넷에서 검색해서 아무 웹쉘 war 파일을 얻었다.
https://github.com/jbarcia/Web-Shells/blob/master/laudanum/jsp/cmd.war
해당 war 파일을 웹에서 호출하자.
웹쉘이 정상적으로 작동하고, 플래그 경로를 문제에서 알려준 만큼 해당 파일을 확인해보자.
폴더일 줄 알았는데 모든 사용자가 실행(x) 가능한 실행파일이였다. 그럼 flag 파일을 실행하자.
끗.