반응형
SMALL

1. 파일 업로드 공격 실습

파일 업로드 취약점은 공격자가 서버스크립트 코드가 포함된 파일을 올려 코드를 실행하는 공격이다. 이런 파일을 쉘이라고 하는데 쉘을 업로드해서 시스템으로 침투가 가능하다. 내부파일실행(LFI) 취약점과 비슷하며 확장자 필터링으로 차단이 가능하지만 이를 우회해서 업로드 하는 경우가 있다. 아래는 웹 쉘 확장자로 사용되는 확장자 목록이다.

 

* ASP/ASPX: asp, aspx, asa, cer, inc, cdx

* JSP: jsp, jspx

* PHP5: php, php3, php4, phtml

* PHP7: php, php3, php4, php5, pht, phtml

 

 2. 파일 업로드 공격 실습

[그림 2-1] 소스 코드

9~12번째 줄은 입력 폼을 제공하고 있다. 만약 시스템 명령어를 입력해 요청하면 cmd 파라미터를 통해 전달되고 system 함수에 의해 명령어를 실행하게 되는 웹 쉘 소스코드다.

 

[그림 2-2] 웹 쉘 업로드

Shell.php 파일을 업로드 하면 [그림 1-2]와 같이 업로드 된 경로와 함께 업로드가 성공했다는 메시지가 출력된다. http://192.168.171.173/dvwa/hackable/uploads/cmd.php URL로 접속하면 업로드 된 파일 내용을 볼 수 있다.

 

[그림 2-3] 명령어 실행

웹 쉘의 폼 필드를 통해 원하는 명령어를 실행할 수 있다. ls를 입력해 요청하면 서버에 있는 파일 목록을 볼 수 있다. 추가로 cat /etc/passwd를 입력하면 리눅스 계정 정보가 담긴 패스워드 파일들을 볼 수 있다. 폼 필드 뿐만이 아닌 URL에 직접 명령어를 입력해 실행해도 같은 결과가 나온다. 웹 쉘 업로드가 가능하면 리버스 쉘 기법 등을 활용해서 조금 더 깊은 침투가 가능하다.

 

 

 

 

반응형
LIST

'웹해킹 > DVWA' 카테고리의 다른 글

파일 업로드 공격 대응 방안  (0) 2020.01.04
파일 업로드 공격 (2)  (0) 2020.01.04
파일 실행(File Inclusion) 공격 (2)  (0) 2020.01.04
파일 실행(File Inclusion) 공격 (1)  (0) 2020.01.04
Command Injection 공격 (1)  (0) 2019.05.23
블로그 이미지

만년필석사

,