openeg File Upload

openeg File Upload

 

(1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다.(test / test)

 

(2) 로그인 후 게시글을 작성합니다. (파일업로드)

 

(3) 게시글을 확인하고 개발자도구(F12)에서 소스코드를 확인합니다.

=> 업로드한 이미지에 접근할 수 있는 주소 : http://victim:8080/openeg/files/cat.PNG (주소 상속)

=> 업로드한 파일이 외부에서 접근 가능한 경로에 저장되고 있습니다.

=> 원본 파일명과 동일하게 저장되고 있습니다.

 

(4) 이번에는 Window xp 바탕화면에 있는 OSCommand.jsp 파일을 업로드합니다.

Window xp에서 작업

 

(5) 게시글을 확인합니다.

=> 업로드는 되었지만, 업로드한 파일이 이미지가 아니므로 이미지가 출력되지 않습니다.

=> 업로드한 파일에 접근할 수 있는 주소 : http://victim:8080/openeg/files/OSCommand.jsp (주소 상속)

 

(6) 서버에서 실행 가능한 파일을 브라우저를 통해서 호출합니다.

요청 > http://victim:8080/openeg/files/OSCommand.jsp

cmd=

 

whoami를 입력하고 제출합니다.

cmd=whoami

=> whoami 명령어를 입력하여 현재 사용자의 이름을 확인할 수 있습니다.

 

ipconfig를 입력하고 제출합니다.

cmd=ipconfig

=> ipconfig명령어를 입력하여 내 컴퓨터의 IP주소, DNS 서버 등을 확인할 수 있습니다.

 

위의 실습을 통해 이 게시판에는 파일업로드 취약점이 있음을 알 수 있습니다. 업로드한 파일에 접근해서 실행하게 되면 서버를 마음대로 제어할 수 있게 됩니다.