정보보안(구버전)/ 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");
$message = "";
// No differences between the security levels
case "0" :
$authorized_device = check_user_agent();
case "1" :
$authorized_device = check_user_agent();
case "2" :
$authorized_device = check_user_agent();
default :
$authorized_device = check_user_agent();
}
$user_agent = $_SERVER["HTTP_USER_AGENT"];
// Debugging
$authorized_device = false;
$devices = array("iPhone", "iPad", "iPod", "Android");
// Searches for a string in an array
// echo $str;
// Debugging
$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;
?>
|
Ex3) 보안 레벨 'High' 변경 (보안 레벨 관계 없이 동일함)
보안 레벨 및 시나리오 선택
주소창 새로 고침 클릭
스마트폰/테블릿 PC라는 메세지 출력 확인
[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)
웹해킹 95. A7 - bWAPP Missing Functional Level Access Control - Restrict Device Access