드림핵(Dreamhack) session-basic 플래그 획득법

문제

드림핵의 webhacking 로드맵 과정 중 Cookie & Session 섹션의 Cookie 단계인 session-basic실습 문제를 살펴보겠습니다.
 
 

서버를 생성하여 문제 페이지에 접속하고, 문제 파일을 받아 파일의 내용도 함께 확인해 보겠습니다.
 
 

이전 문제 cookie와 유사하게 인사말이 나오고 로그인가능한 웹페이지로 구성되어 있습니다.
마찬가지로 admin계정으로 로그인하라고 하였으니 admin 계정이 사용하는 쿠키값으로 변조해 주면 되는데 이번에는 세션값도 함께 바꿔줘야 하나 봅니다.
 
 

문제해결방법

다운로드한 문제파일의 코드 중 로그인 가능한 정보가 guest와 user가 있는데 guest로 로그인 후 확인해 보겠습니다.
 

guest로 로그인하니 admin이 아니라고 나오고 개발자도구에서는 username이 admin으로 설정되어 있습니다.
username은 admin이지만 session의 value가 admin과 달라서 플래그가 나오지 않습니다
 
user계정으로 로그인해도 마찬가지로 username은 admin이지만 session값이 admin이 아니라 같은 메시지가 출력되었습니다.
 

zip파일로 다운로드한 문제 파일을 살펴보면 웹페이지의 /admin 페이지를 접근하면 session_storage에 담긴 값을 return 해줍니다.
 
 

해당 페이지로 이동해 보니 session 값으로 보이는 문자열과 "admin"계정이 함께 출력되고 뒤에는 아까 로그인하였던 guest계정과 session값이 나옵니다.
 
 

username값은 이미 admin이었기 때문에 sessionid값만 admin계정으로 변경해 주고 페이지를 새로고침하면 플래그가 출력됩니다.
 

Top