Code::Security/비박스(BWAPP)

비박스(bWAPP) A2 Session Mgmt. - Cookies (Secure)

태군 코드 2022. 7. 5. 14:06
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
 

A2 - Session Mgmt. - Cookies (Secure)

 

smgmt_cookies_secure.php

해당 취약점 페이지는 앞에서 다룬 A2 - Session Mgmt. - Cookies (HTTPOnly) 페이지와 동일한 문제로 여기서는 Cookie 옵션 중 Secure 옵션에 대한 문제입니다.

 

쿠키(Cookie)란 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일을 일컫는다.

 

HttpOnly는 자바스크립트의 document.cookie를 이용해서 쿠키에 접속하는 것을 막는 옵션입니다. 쿠키를 훔쳐가는 행위를 막기 위한 방법입니다.

 

HttpOnly 옵션을 통해 브라우저의 쿠키값을 접근하지 못하게 막았더라도, 통신 과정에서는 스니핑이 가능합니다. 이때 사용하는것이 Secure 옵션 입니다.

 

Secure는 웹브라우저와 웹서버가 https로 통신하는 경우만 웹브라우저가 쿠키를 서버로 전송하는 옵션입니다.

 

보통의 경우 HTTPS 프로토콜을 통하여 데이터를 암호화를 하지만, 그렇지 못할 경우 Secure 옵션을 통하여 https로 통신하는 경우만 쿠키를 서버로 전송하게 설정하는 것이 바람직합니다.

 

smgmt_cookies_secure.php 소스코드

난이도 하

- httponly 옵션만 설정되어 있고 유효기간은 1시간(3600초)으로 설정

- setcookie("top_security", "no", time()+3600, "/", "", false, true);

 

난이도 중

- httponly 옵션과 secure 옵션이 설정되어 있고 유효기간은 1시간(3600초)으로 설정

- setcookie("top_security", "maybe", time()+3600, "/", "", true, true);

 

난이도 상

- httponly 옵션과 secure 옵션이 설정되어 있고 유효기간은 5분(300초)으로 설정

- setcookie("top_security", "yes", time()+300, "/", "", true, true);

 

반응형