정보보안(구버전)/ bWAPP 2019. 2. 22. 21:20

웹 해킹 bWAPP - 95. A7 - Missing Functional Level Access Control - Restrict Device Access

 

 

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

 

 

1. Missing Functional Level Access Control

 

 - OWASP Top10 A7 - 기능 수준의 접근 통제 누락
 - 접근 통제 및 검증이 서버 설정, 관리 부분에서 제대로 구성되지 않았을때 중요 자원 접근이 가능한 취약점이다.
 - Ex) 디렉토리 접근, 파일 접근, 파일 다운로드 및 업로드

 

 

 

2. Restrict Device Access

 

 - PC와 모바일 웹 서비스를 동일한 환경에서 관리될 경우, 두개 중에 하나라도 취약점이 있으면 문제가 발생한다.

 - 그렇기 때문에 PC와 모바일 웹 서비스 환경을 분리하여 관리하는 것을 권장하며, 클라이언트 장치에 따라서

   웹 서비스 연결을 제공해야 한다.

 

 

 

3. 'User-Agent Switcher' 다운로드

 

 - 웹 페이지 접속시 user-agent를 변경하여 접속이 가능한 프로그램

 - 다운로드 사이트 : https://addons.mozilla.org/ko/firefox/addon/user-agent-switcher-revived/?src=search

 

95-0. 'User-Agent Switcher' 다운로드 주소.txt

 

 

 

4. Missing Functional Level Access Control - Restrict Device Access

 

 

  

Ex1) Missing Functional Level Access Control - Restrict Device Access 이해

 

 

보안 레벨 선택 및 시나리오 선택

 

 

스마트폰/테블릿 PC가 아니라는 메세지 출력 확인

 

 

 

'>>' 클릭 -> 'User-Agent Switcher' 클릭

 

 

 

'Apple' 클릭

 

 

 

스마트폰/테블릿 PC라는 메세지 출력 확인

 

 

 

Intercept -> 'Intercept is on' 으로 변경 실시

 

 

'>>' 클릭 -> 'User-Agent Switcher' 클릭

 

 

 

'안드로이드' 클릭

 

 

 

주소창 새로 고침 클릭

 

 

 

버프슈트 Intercept 내용 확인 -> User-Agent 확인 -> 'Intercept is on'를 클릭하여 off 실시

 

 

 

User-Agent 'Android' 확인

GET /bWAPP/restrict_device_access.php HTTP/1.1

Host: 192.168.20.205

User-Agent: Mozilla/5.0 (Linux; Android 7.0; PLUS Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://192.168.20.205/bWAPP/restrict_device_access.php

Cookie: security_level=0; PHPSESSID=7dc11ff289eeca4a2a749c95a8d9501a

Connection: close

Upgrade-Insecure-Requests: 1

Cache-Control: max-age=0

 

 

 

 

'Intercept is off' 확인

 

 

스마트폰/테블릿 PC라는 메세지 출력 확인

 

 

 

 

Ex2) 'restrict_device_access.php' 파일 내용 확인

 

vi restrict_device_access.php ls -l restrict_device_access.php
-rw-rw-r-- 1 root www-data 6337 2014-11-02 23:52 restrict_device_access.php

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

~ 중간 생략 ~

 

include("functions_external.php");
include("selections.php");

 

$message = "";
$authorized_device = false;

 

// No differences between the security levels
switch($_COOKIE["security_level"])
{

 

    case "0" :

 

        $authorized_device = check_user_agent();
        break;

 

    case "1" :

 

        $authorized_device = check_user_agent();
        break;

 

    case "2" :

 

        $authorized_device = check_user_agent();
        break;

 

    default :

 

        $authorized_device = check_user_agent();
        break;

 

}


function check_user_agent()
{

 

    $user_agent = $_SERVER["HTTP_USER_AGENT"];

 

    // Debugging
    // echo $user_agent;

 

    $authorized_device = false;

 

    $devices = array("iPhone", "iPad", "iPod", "Android");

 

    // Searches for a string in an array
    foreach($devices as $str)
    {

 

        // echo $str;
        if(strpos($user_agent, $str) !== false)
        {

 

            // Debugging
            // echo $user_agent . " contains the word " . $str;

 

            $authorized_device = true;

        }

 

    }

 

    return $authorized_device;

 

}

 

~ 중간 생략 ~

 

 <?php

 

    if($authorized_device != false)
    {

 

        $message = "<font color=\"green\">This is a smartphone or a tablet computer!</font>";

 

    }

 

    else
    {

 

        $message = "<font color=\"red\">This is not a smartphone or a tablet computer (Apple/Android)!</font>";

    }

 

    echo $message;

 

    ?>


 :q!

 

 

 

 

Ex3) 보안 레벨 'High' 변경 (보안 레벨 관계 없이 동일함)

 

 

보안 레벨 및 시나리오 선택

 

 

 

주소창 새로 고침 클릭

 

 

 

스마트폰/테블릿 PC라는 메세지 출력 확인

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)

 

웹해킹 95. A7 - bWAPP Missing Functional Level Access Control - Restrict Device Access   


https://youtu.be/0AFcOPha3ak




Posted by 김정우 강사(카카오톡 : kim10322)
,


Q