https://dreamhack.io/wargame/challenges/409
쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스이다.
admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있다고 한다.
접속 정보로 들어가서 아무 정보로 로그인을 시도하면
찾을 수 없는 유저라는 메시지가 뜬다.
접속 정보에서는 더이상 얻을 수 있는 정보가 없어서 문제 파일을 확인했다.
admin의 password가 FLAG 값임을 알 수 있었다.
47라인의 if문을 살펴보면 로그인 성공과 동시에 랜덤생성된 sessionid를 사용자에게 쿠키 값으로 넘겨준다.
주어진 guest로 로그인을 했다.
개발자 도구에서 쿠키 값을 확인해 보면
sessionid 이름으로 쿠키가 존재하는 걸 알 수 있다.
그 쿠키 값이 사용자에게 노출되고 있다.
따라서 현재 사용자의 쿠키 값(value)에 admin의 값을 넣어주면 admin 세션으로 변경될 것이다.
문제 파일에서 admin()를 보면 session_sotrage 리스트를 반환하므로
/admin 페이지로 접근해봤다.
접속 정보 url 뒤에 /admin을 붙여 접속하면
앞에 admin 계정에 해당하는 sessionid가 반환된다.
admin 계정에 해당하는 sessionid를 복사해서 현재 생성되어 있는 cookie에 넣어줬다.
admin 세션으로 변경되고 flag 값이 출력됐다.
참고
https://mokpo.tistory.com/418?category=478181
'CTF > Dreamhack' 카테고리의 다른 글
[Dreamhack] image-storage (0) | 2023.04.12 |
---|---|
[Dreamhack] File Vulnerability Advanced for linux (0) | 2023.04.12 |
[Dreamhack] [wargame.kr] login filtering (0) | 2023.04.04 |
[Dreamhack] Carve Party (0) | 2023.04.04 |
[Dreamhack] file-download-1 (0) | 2023.03.28 |