Tomcat Manager취약점으로 관리자 인증을 위한 페이지가 쉽게 인지 가능하거나 유추로 인해 접근이 되는 경우이다.
기존의 Tomcat Web 환경의 관리자 콘솔을 사용하지 않아 톰캣 폴더 안에 있는 manger 폴더명을 바꾸지 않아서 생기는 취약점이다.
기본
소스코드를 보면 username은 나와있지만 password는 나와있지 않다,,,
password값을 얻으면 로그인을 할 수 있을 거 같다...!
도커 파일을 보니 tomcat-users.xml 에 정보가 들어있을 거 같다.,!
직접 접근을 하면 404 오류가 뜬다,,,
개발자 모드로 페이지 소스코드를 보면./image.jsp의 file파라미터를 이용해서 path traversal 공격을 하면 되겠다고 생각을 해서 버프 스위트 툴을 실행시켰다
path traversal 취약점을 이용하면 flag값을 얻을 수 있을 거 같다,,,!
취약점을 이용해서 flag 값을 바로 출력하면 될 줄 알았는데,,, flag 값이 안 나온다,,
그래서 도커파일에서 본 tomcat-users.xml 파일을 보니 password을 찾을 수 있었다,,
manager/html 경로에 usrname과 password으로 로그인해서 접근을 할 수 있을 것이다.
WAR file to deploy에서 파일을 업로드할 수 있으면 웹쉘을 올릴 수 있다고 생각을 했다,,!
https://github.com/BustedSec/webshell/blob/master/webshell.war
에서 webshell.war을 다운로드하여 파일을 업로드하면 webshell이 올라간 걸 확인할 수 있다.!
정상적으로 명령어가 실행이 되고, root 디렉터리에 flag 파일이 있는 걸 확인할 수 있다.