Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Archives
Today
Total
관리 메뉴

삽질블로그

[Kali_Linux] Directory Traversal-Directories | bWAPP | Missing Functional Level Access Control 본문

카테고리 없음

[Kali_Linux] Directory Traversal-Directories | bWAPP | Missing Functional Level Access Control

삽질장인 2020. 9. 3. 21:05

본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.

1. Missing Functional Level Access Control

   - OWASP Top 10 A7 - 기능 수준의 접근 통제 누락

   - 접근 통제 및 검증이 서버 설정, 관리 부분에서 제대로 구성되지 않았을 때 중요 자원 접근이 가능한 취약점이다.

   - Ex) 디렉토리 접근, 파일 접근, 파일 다운로드 및 업로드

 

2. Directory Travelsal - Directories

   - 웹 브라우저를 통해서 확인 가능한 상위 디렉토리를 검색하여 시스템 파일을 검색/접근하거나 다운로드하는 취약점이다.

   - 해결하는 방법으로는 변수를 이용하여 기본적으로 접근 가능한 경로를 제한하거나, 상대 경로를 절대 경로로 반환한다.

   - 디렉토리 리스팅 : 웹브라우저를 통해서 서버 관리자가 관리적으로 리스팅하도록 지정한 디렉토리가 접근되는 취약점

 

3. Missing Funtional Level Access Control - Directory Traversal - Directories

   - 이 시나리오는 URL 주소창에 ../ (상위 디렉토리 이동)를 실시하여 다른 디렉토리로 이동되는 취약점을 알아보는 내용이다.

 

========================실습===================================

1) 첫 화면

 

2) 화면에서 마우스 우클릭 -> '페이지 소스' 클릭

 

3) 해당 파일들이 'var/www/bWAPP/documents' 디렉토리에 있음

 

4) 상대 경로를 이용하여 디렉토리 구조 파악 1

 https://192.168.222.132/bWAPP/directory_traversal_2.php?directory=../

 

5) 상대 경로를 이용하여 디렉토리 구조 파악 2

 https://192.168.222.132/bWAPP/directory_traversal_2.php?directory=../../

 

6) 상대 경로를 이용하여 디렉토리 구조 파악 3

 https://192.168.222.132/bWAPP/directory_traversal_2.php?directory=../../../

 

7) 상대 경로를 이용하여 디렉토리 구조 파악 4

 https://192.168.222.132/bWAPP/directory_traversal_2.php?directory=../../../etc

 

8) 절대 경로를 이용하여 디렉토리 구조 파악

 https://192.168.222.132/bWAPP/directory_traversal_2.php?directory=/etc

 

9) 'directory_traversal_2.php' & 'functions_external.php' 파일 내용 확인

   bee@bee-box:/var/www/bWAPP$ ls -l directory_traversal_2.php

   bee@bee-box:/var/www/bWAPP$ vi directory_traversal_2.php

case "2":
	$directory_traversal_error = directory_traversal_check_3($directory, $base_path = "./documents");

   bee@bee-box:/var/www/bWAPP$ gedit functions_external.php

function directory_traversal_check_3($user_path,$base_path = "")

{

    $directory_traversal_error = "";

    $real_base_path = realpath($base_path);

    // echo "base path: " . $base_path . " real base path: " . $real_base_path . "<br />";

    $real_user_path = realpath($user_path);

    // echo "user path: " . $user_path . " real user path: " . $real_user_path . "<br />";

    // int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

    // URL: http://php.net/manual/en/function.strpos.php

    if(strpos($real_user_path, $real_base_path) === false)

    {
Comments