dreamhack wargame : session-basic

ahzero·2023년 3월 13일
0

Web Hacking

목록 보기
2/6
post-custom-banner

2023/03/13 풀이

먼저 문제 링크를 접속해 보았다.

위와 같은 페이지를 확인 할 수 있었다. 우리의 목표는 admin의 계정으로 로그인 하여 플래그를 찾아내는 것이므로 로그인 페이지를 들어가 본다.

개발자 도구를 켜서 코드를 확인해 보았다.

default account 가 guest/guest로 되어 있는 것을 확인할 수 있다. 이 계정으로 먼저 로그인해 보았다.

-> 로그인에 성공하였으나 guest 계정으로 로그인되었다. sessionid라는 이름으로 쿠키가 생성된 것을 확인 할 수 있다.


이번에는 문제 파일을 열어 확인해 보았다.

-> admin의 비밀번호는 플래그인 것을 확인할 수 있다.


-> login 페이지 외에도 admin 페이지가 있다는 것을 알아냈다! 이곳에서 세션 정보를 알아낼 수 있을 것으로 추정된다.


  • admin 페이지에 접속해 본다.

    -> 이전에 로그인 했던 guest의 세션 정보와 admin의 세션 정보가 표시되어 있다.


-> user로 로그인하면 user에 대한 세션 정보도 추가되는 것을 확인할 수 있다.


  • sessionid라는 이름으로 표시된 쿠키 값과 user 쿠키 값이 동일하다! 이 값을 admin의 쿠키 값인 "47c612233e5a329e437b7ef542b366874c574c3fbcc57db4e020419b8cf19c8d"로 바꾸어 보자

  • admin의 쿠키 값으로 바꾼 결과

  • 쿠키 값을 조작한 뒤, 새로고침을 하면 admin으로 로그인이 되는 것을 볼 수 있다.

플래그는 DH{8f3d86d1134c26fedf7c4c3ecd563aae3da98d5c} 이다!!

문제에서 "쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스"라고 나와 있었는데, 쿠키와 세션으로 인증을 관리한다는 점이 중요한 포인트였던 것 같다.
admin의 쿠키값을 알아낼 수 있는 부분을 찾아 이를 이용하는 것이 문제를 푸는 해답이었다.

post-custom-banner

0개의 댓글