File Upload

2023. 8. 17. 17:06보안/DVWA

File Upload

파일 업로드 기능에 대한 보안 취약점과 보안에 대해 알아보자.

 

 

실습

파일 생성 후 /home/kali/Downloads 밑에 이동

 

 

Browser 클릭하여 생성한 파일 클릭

Upload 클릭하면 성공적으로 업로드 된 것 확인

 

 

주어진 디렉토리를 복사 붙여넣기 하면 웹쉘 가능

웹쉘 : 웹사이트를 통해 쉘을 여는 공격

 

 

파일 passwd 안의 내용을 확인 가능

 

 

보안레벨을 medium으로 올려보자.

upload 가능한 파일의 타입이 제한

 

 

burp suit의 intercept를 on으로 켠 후 똑같이 upload하면 아래 스크린샷과 같이 type을 바꿀 수 있다.

수정 후 좌상단의 Forward 클릭

 

 

upload가 잘 된 것을 확인할 수 있다

 

 

웹쉘 가능

 

 

보안레벨을 high로 올려보자.

소스코드를 보니 확장자가 jpg, jpeg, png 중 하나여야 한다

getimagesize 함수를 통해 실제 이미지 파일인지 확인한다. 역시 난이도가 쉽지만은 않을 것 같다.

 

 

이번에도 업로드 전에 intercept on을 켜두자.

확장자 수정뿐만 아니라 GIF89a 추가

GIF89a를 추가함으로써 함수 getimagesize를 통과할 수 있다!

 

 

upload 완료!

 

 

다 된듯 했지만 그림파일이라 보여지지 않는다

 

 

File Inclusion 탭으로 들어가 upload된 파일 뒤 cmd를 활용하면 웹쉘이 가능하다!

주소가 잘 보이지 않아 아래와 같이 써 놓았다.

192.168.2.14/dvwa/vulnerabilities/fi/?page=file/../../../hackable/uploads/webshell.php.jpg&cmd=cat /etc/passwd

성공!

 

'보안 > DVWA' 카테고리의 다른 글

XSS(Reflected)  (0) 2023.08.18
SQL Injection  (0) 2023.08.17
File Inclusion  (0) 2023.08.17
CSRF  (0) 2023.08.17
Command Injection  (0) 2023.08.17