ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • cookie
    개인공부/드림핵 2024. 11. 21. 23:43

    이번 문제는 쿠키로 인증을 관리하는 간단한 로그인 서비스에서 admin 계정으로 로그인을 성공해 FLAG를 획득하는 문제다.

     

    [문제 풀이]

    이번 문제 풀이를 위해서 BurpSuite를 사용하였다.

     

    1. BurpSuite 실행

     

    BurpSuite>Proxy>Open browser를 눌러 브라우저 창을 열어준다.

     

    이 동작을 하는 이유는 BurpSuite에서 사용자와 서버간의 요청을 인터셉트 하기 위해서이다.

    (전용 브라우저를 사용하면 프록시 설정 불필요)

     

    2. 문제풀이 서버에 접속

     

    접속 후 로그인 메뉴를 클릭 시 로그인 창으로 이동한다.

     

    계정정보를 확인하기 위해 문제파일을 분석한다.

     

    3. 문제파일 분석

     

    소스코드에서 users라는 이름의 딕셔너리에 guest:guest, admin: flag가 정의되어 있는 것을 확인했다.

     

    여기서 주의 깊게 봐야할점은 아래의 패스워드 검증 구문이다.

     

    만일 입력받은 password가 pw와 같다면, 쿠키의 값을 입력받은 username으로 설정하라는 코드가 있다.

     

    해당 코드를 이용해 실제 admin 계정으로의 우회 접속이 가능하다.

     

    4. Expoit

     

    여기서 Set-Cookie의 username의 값을 admin으로 변경해준다.

     

    그렇게 될시 아래와 같이 cookie의 값이 usernam=admin으로 변경된 것을 확인 가능하다.

     

     

    5. FLAG 획득

     

    정상적으로 admin으로 로그인되며, FLAG를 획득하였다.

    '개인공부 > 드림핵' 카테고리의 다른 글

    file-download-1  (0) 2024.12.08
    pathtraversal  (0) 2024.11.22
    🌱 simple-web-request  (0) 2024.11.21
    ex-reg-ex  (0) 2024.11.18
    Flying Chars  (0) 2024.11.18
Designed by Tistory.