Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

뭉크테크

File Inclusion 모의해킹 본문

CERT

File Inclusion 모의해킹

뭉크테크 2024. 7. 27. 15:59

목차

  • File Inclusion 이론
  • File Inclusion 실습
  • File Inclusion 대응방안

File Inclusion 이론

  • 주로 PHP 애플리케이션에서 발생하는 취약점으로 인해 발생하는 공격
  • 일반 사용자가 include() 함수로 외부 및 서버 내부 파일을 웹 어플리케이션에 직접 삽입할 수 있는 공격
  • 동적으로 파일을 로드할 때 공격 대상 파일이 서버 내부에 위치하면 LFI ( Local File Inclusion ), 공격 파일의 위치가 공격 대상 서버가 아닌 외부 서버에 위치하면 RFI (Remote File Inclusion)

 

File Inclusion 실습

  • file inclusion 탭을 클릭하였더니 삽입할 수 있는 파일 3 개가 있음을 확인하였다.

  • file1.php를 클릭하였더니, url fragment에 file1.php가 입력된 것을 확인
  • 이는 즉, 서버 내부에 있는 file1.php를 url 을 통해 호출되는 메커니즘 확인

 

시나리오

  • 서버 내부에 파일을 호출하고자 할 때, page 파라미터에 탈취하고자 하는 파일 경로를 삽입하면 되는 것으로 파악.
  • URL을 조작하여 서버 내부에 있는 password 파일을 호출 및 탈취 시도

 

  • 해당 페이지를 운영하는 서버 안(본인 컴퓨터)에 있는 password 파일 경로를 예상하여 URL 경로 page 매개변수  값으로 /etc/passwd 를 전달하여 LFI 시도
  • 그 결과, 아무런 권한 검사 혹은, 필터링 없이 해당 정보가 호출되어 웹 어플리케이션 상에 출력된 것을 확인해 볼 수 있음

 

  • 그 다음은 서버의 파일과 상관없는 외부 링크를 삽입하여 RFI를 시도
  • 외부 링크 및 파일에 대한 검사 없이 해당 naver.com 링크가 삽입되어 출력된 것을 알 수 있음

 

File Inclusion 대응 방안

  • 해당 페이지에서 명시적으로 URL fragment에 삽입할 수 있는 요청들만 명시하고, 그 이외의 요청에 대해서 거부하는 로직인 화이트 리스트 방식을 채택한다.

 

  • 추가적으로 RFI 대응 방안을 살펴본다.
  • allow_url_fopen = off 설정을 통해 파일 읽기 함수를 사용할 때 원격 URL을 열지 않도록 설정한다.
  • allow_url_include = off 설정을 통해  파일 포함 명령(include, require)을 사용할 때 원격 URL을 포함하지 않도록 설정
  • 이를 통해 외부 파일이 삽입되는 것을 원천적으로 거부하여 차단을 한다.

 

'CERT' 카테고리의 다른 글

Blind SQL Injection 모의해킹  (0) 2024.07.28
Insecure Captcha 모의해킹  (0) 2024.07.27
BruteForce 모의해킹  (0) 2024.07.27
SQL Injection(Error Bases Injection) 모의해킹  (0) 2024.07.21
File Upload 모의해킹  (0) 2024.06.22