klaus

[week_10] File Include VS File Download 취약점 본문

수업/모의해킹

[week_10] File Include VS File Download 취약점

klus! 2022. 12. 17. 23:45

0.들어가기

커리큘럼

- 파일 다운로드 공격 개념

- 파일 다운로드 취약점 보안

 

지난 주 Webshell 2번 문제 풀이

[힌트] 업로드 시 업로드 파일의 확장자 필터링

          ==> 자물쇠로 문을 잠궜는데 문 고리에 열쇠를 같이 놓은 경우(???)

즉, 클라이언트 측에서 필터링!!! 고양이에게 생선가게를 맞긴 경우라고 할 수있다.

 

추가적으로 서버 측 필터링하여도 웹셀 파일이 업로드 되는 경우도 있다. 예를 들어

파일 업로드 되고 난 후 파일 검사를 하는 경우!( 개발자 실수인가?)

 

또한, 파일 업로드 될 때, 이름이 바뀌는 경우도 종종있다고 합니다.

예를 들어 날짜로 저장되는 경우로 잘 확인해봐야합니다.

== > 221215_1, 221215_2, 221215_3 와 같은 경우입니다.

 

1. 파일 삽입(File Include) (LFI/RFI) 취약점

- File Include은 동적으로 파일을 읽거나 include(소스)의 기능이 있는 경우 이를 악용하여 시스템 파일을 읽거나 탈취할 수 있는 취약점.

  입니다.  그 위치가 Local(내부 = 희생자)와 Remote(외부=공격자)에 따라 다르고 자주나오지 않으며 위험도 역시 상급(

 

[+] LFI(Local File Include) 취약점

- 공격 대상 서버에 위치한 파일을 포함시켜 읽어오는 공격으로

  즉, 공격 대상 서버에 있는 디렉터리에 접근하여 원하는 파일을 열어 볼 수 있는 취약점

- 웹 개발을 할때 include함수를 

 

 

- 만약 아래와 같이 파일 이름을 URL파라미터로 넘겨주어 파일을 불러오는 코드가 있고 별다른 필터링을 안해줄 경우

   LFI취약점이 발생할 수있다.

   > filename을 ../../../../../etc/passwd와 같이 넘겨주면 파일을 Include하는데 제약이 없기 때문에 etc/passwd 파일을 읽어 올 수있다.

<?php
include(./$_GET['filename']); 
?>

 

'수업 > 모의해킹' 카테고리의 다른 글

[week_9] 파일 업로드(File Upload) 취약점  (0) 2022.12.14
[week_8] CSRF - 2 (feat. 문제풀이)  (0) 2022.12.12
[week_7] CSRF-1  (0) 2022.12.11
[week_6] XSS  (0) 2022.11.25
[week_5] ClientSide : XSS (Cross Site Scripting)  (0) 2022.11.13
Comments