이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
A2 - Session Mgmt. - Cookies (HTTPOnly)
쿠키(Cookie)란 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일을 일컫는다.
세션(Session)이란 일정 시간 동안 같은 사용자(정확하게 브라우저를 말한다)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이다.
해당 취약점 페이지는 쿠키 정보를 통하여 세션을 가로채는 공격으로 세션 하이재킹 공격에 해당됩니다.
세션 하이재킹과 XSS
쿠키는 대개 웹 애플리케이션에서 사용자와 그들의 인증된 세션을 식별하기 위해 사용되곤 합니다. 그래서 쿠키를 가로채는 것은 인증된 사용자의 세션 하이재킹으로 이어질 수 있습니다. 쿠키를 가로채는 일반적인 방법은 소셜 공학 사용 혹은 애플리케이션 내 XSS(Cross Site Scripting) 취약점을 이용하는 것을 포함합니다.
해당 취약점을 확인하기 전에 인터넷 브라우저를 각각 다른 브라우저를 통하여 bee 계정과 Test 계정으로 로그인을 해줍니다.
크롬 브라우저를 통하여 bee 계정으로 로그인한 화면으로, 로그인 후 Cookies 버튼을 눌러 쿠키 정보를 확인하였습니다. here 글씨를 누르면 팝업창으로도 쿠키 정보를 확인할 수 있습니다.
동일하게 인터넷 익스플로러에서 Test01 계정으로 로그인한 후 Cookies 버튼을 눌러 쿠키 정보를 확인하였습니다.
여기서 자세히 확인해야 할부분은 bee(관리자 계정)의 쿠키 값과 Test01(일반 계정) 계정의 쿠키값입니다. 프락시 툴을 사용하여 Test01 계정의 패킷을 잡아 보도록 하겠습니다.
Test01 계정에서 버프스위트를 통하여 패킷을 잡은 후 Cookie 부분을 bee(관리자 계정)의 쿠키 값으로 변경하여 주신 후 Forward 버튼을 눌러 줍니다.
Forward 버튼을 눌러 웹페이지를 확인해 보면 Bee(관리자 계정)으로 로그인되어 있는 것을 확인할 수 있습니다. 이처럼 쿠키의 세션 정보를 탈취하여 손쉽게 관리자 계정으로 로그인이 가능합니다.
위에서 확인한 쿠키의 보안 취약점 중에서 XSS 공격은 Script 접근을 통해 이루어지고 "document.cookie" 명령어를 사용합니다. 쿠키는 이런 Script 접근을 막기 위한 HttpOnly라는 옵션을 제공합니다.
크롬의 개발자 도구로 확인 시 'smgmt_cookies_httponly.php' 페이지는 HttpOnly 옵션이 적용이 안되어 있는 것을 확인할 수 있습니다.
해당 페이지의 소스코드를 확인해 보면 high 단계에서는 세션 유지 시간을 300초(5분)로 설정을 하여 세션을 관리하고 있는 모습을 확인할 수 있습니다.
'Code::Security > 비박스(BWAPP)' 카테고리의 다른 글
비박스(bWAPP) A2 Session Mgmt. - Session ID in URL (0) | 2022.07.06 |
---|---|
비박스(bWAPP) A2 Session Mgmt. - Cookies (Secure) (0) | 2022.07.05 |
비박스(bWAPP) A2 Session Mgmt. - Administrative Portals (0) | 2022.06.29 |
비박스(bWAPP) A2 Broken Auth. - Weak Passwords (0) | 2022.06.28 |
비박스(bWAPP) A2 Broken Auth. - Password Attacks (0) | 2022.06.21 |