반응형




안녕들 하시죠 !


이번시간에는 파일 업로드 취약점에 대해 알아보겠습니다.


파일 업로드 취약점 이란?


어떠한 파일을 첨부하여 올릴 수 있는 게시판에 일반적으로 올릴 수 있는 형태 이외에 공격자가 악의적으로 .asp, .php, .jsp 등의 파일을 업로드하여 악성 스크립트를 올려 실행시킨 후,  웹 서버를 장악하고 피해를 주는 행위이다.


실습내용

ㆍ 파일을 업로드 할 수 있는 페이지가 존재하는지 확인.

ㆍ 이미지 파일 업로드 시도( .jpg, .png 등 )

ㆍ 파일이 업로드 되는 경로 확인.

ㆍ .asp, .jsp, .php 등의 확장자를 가진 서버 가이드 스크립트 파일 업로드 시도.

ㆍ 파일이 업로드 되는 경로 확인.

ㆍ 경로를 통한 파일 실행 여부 확인.

ㆍ 서버 가이드 스크립트 파일이 필터링에 걸려 업로드가 안 된다는 가정 하에 확장자 우회 방법을 시도.

  - fiddler 등의 프록시 툴을 사용해 확장자 명을 변경 후 업로드 시도.


파일 업로드 취약점 실습을 위해 저만의 환경에서 실습 진행을 해보았습니다.

우선 앞에서 배운 SQL Injection 기법으로 로그인을 하고 진행했습니다.



게시판에는 파일을 첨부 기능이 준비되어 있습니다.

이 게시판에 제가가진 webshell.asp 파일을 업로드 해볼생각입니다.


우선 웹쉘 파일을 업로드 해보겠습니다.



첨부가능한 확장자를 규정해 필터링하고 있습니다.

우선, webshell.asp.jpg로 확장자를 바꿔준 후에 업로드창에 올린후, 프록시를 잡고 burpsuite를 실행해봤습니다.



글을 업로드하게 되면,



다음과 같이 나옵니다.

그럼 이제, filename부분 webshell.asp.jpg를 webshell.asp로 수정 후, forward로 진행해 보겠습니다.



자, 이번엔 업로드한 webshell(42).asp를 다운받기위해 클릭할때 프록시를 잡고 burpsuite로 확인해보겠습니다.





burpsuite를 보게되면, 아래와 같이 업로드파일이 올라가는 경로가 나와있습니다.




홈페이지ip/demoshop/shop_board/upload_file/webshell(42).asp를 입력해 웹쉘을 실행시켜보겠습니다.



성공했습니다.


오늘은 여기까지입니다 감사합니다 !

+ Recent posts