File Upload Vulnerability [1]

DATE : 2023/9/15

File Upload Vulnerability??

파일 업로드 취약점이란,

공격자가 작성한 파일을 서버에 업로드할 수 있는 취약점을 말한다.

Web Shell

이때 공격자가 작성한 파일을 Web shell이라고 표현할 수 있는 데 Web shell은

Web을 크게 두 측면으로 나눠 Front-end & Back-end로 구분할 때,

Back-end 측에서 어떤 악의적인 동작을 수행하도록 작성한 shell을 의미한다.

파일 업로드 취약점을 통해 PHP, Asp와 같이 서버가 실행시킬 수 있는 파일을

target server에 업로드하게 되면, 해당 파일 내용이 실행되면서 다양한 피해를 입을 수 있다.

예를 들어

<?php system("$_GET['cmd']"); ?>

위와 같은 web shell을 작성해 서버에 업로드한 뒤

devil.com/webshell.php?cmd=ls

서버로 업로드한 파일이 실행되도록 request를 보내면

URL 속에 들어있는 cmd parameter가 $_GET['cmd'] 값으로 들어가면서

결과적으로

<?php system("ls"); ?>

ls command를 실행하는 PHP code가 완성된다.

만약 공격자가 ls가 아닌 다른 command를 입력하게 된다면 어떻게 될까?

"입력하는 command가 무엇인가"에 따라 결과 또한 다양하게 초래될 수 있다는 걸 짐작할 수 있을 것이다!

Last updated