dreamhack 쿠키 세션 문제 풀기 2
문제에서는 그 쿠키값을 변조해야하는 사이트 url이랑 파이썬 코드가 주어집니다.
일단 문제에서 제공하는 url에 들어가게 되면 문제에서 제공하는 url에 들어가게 되면
이렇게 뜨는 것을 확인하실 수 있습니다.
파이썬 코드는
인덱스 페이지를 구성하는 코드 부분을 보면 해당 페이지에서는 요청된 세션 아이디를 통해 이용자를 식별하는 것을 확인하실 수 있습니다. 만약 username value가 "admin"에 해당하는 세션 아이디일 경우 그 해당하는 FLAG 값을 출력합니다.
로그인 페이지 코드를 살펴보며느 메소드에 따른 요청마다 다른 기능을 수행하는 것을 알 수 있습니다.
GET:
username과 password를 입력할 수 있는 로그인 페이지를 제공
POST:
이용자가 입력한 username과 password 입력값을 users 변숫값과 비교
users 변수에 해당하는 코드를 살펴보면, "guest" 계정의 비밀번호는 "guest", "user"의 비밀번호는 "user1234", "admin"의 비밀번호는 파일에서 읽어온 FLAG임을 알 수 있습니다.
이 사이트의 취약점에 대해서 말하자면, 해당 url 옆에 /admin을 붙여서 새로고침을 해주면 해당 아이디의 비밀번호인 세션 아이디를 알려줍니다.
세션 아이디 알아냈습니다. 이제 개발자 도구를 켜주고 세션 아이디 부분에 "admin"의 세션 아이디를 넣어줄 것입니다. 그러고 나서 새로고침을 해줍니다.
flag 값이 정상적으로 출력된 것을 확인하실 수 있습니다.