Dreamhack 쿠키를 활용한 session-basic 문제풀이
'문제 파일 다운로드'를 하게 되면 python파일이 다운받아지게 됩니다.
파일을 열어보면 다음과 같은 화면이 나오게 됩니다.
이 코드를 잘 분석해보면 중요한 키워드가 주어져있습니다.
바로 사이트 로그인을 위한 계정들이 주어져있는 것을 확인할 수 있습니다.
크게 guest, user, admin 과 같이 3개의 계정의 정보가 있는 것을 확인할 수 있습니다. 여기서 중요한 요점은 admin계정만 비밀번호가 주어지지 않았는데 바로 FLAG값을 찾는 것이 이 문제의 핵심이라고 할 수 있습니다.
이제 정보들을 얻었으니 사이트에 접속해봅니다.
접속을 하여 일단 guest계정으로 로그인 해보겠습니다.
로그인을 하면 다음과 같은 화면이 나오게 됩니다.
개발자 도구를 활용해 쿠키 정보를 확인합니다.
쿠키 정보를 보게 되면 이름에 sessionid 가 추가 된걸 확인할 수 있습니다.
이제 admin의 flag값을 알아 보기 위해 admin으로 접속합니다.
(admin 접속하는 방법은 해당 코드를 자세히 보면 알 수 있습니다.)
접속하면 admin의 값이 나오게 되는데 이 정보를 복사합니다.
그 다음, 개발자 도구로 sessionid값에 복사한 값을 입력시켜주고 이름에 user 값에 admin을 입력시켜 주고 새로고침 해줍니다.
사이트 새로고침하면 다음과 같은 화면이 나오면서 DH값이 나오게 됩니다.
문제 출처: https://dreamhack.io/wargame/challenges/409/
session-basic
Description 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Background: Cook
dreamhack.io