본문 바로가기

SWUFORCE - 워게임

[드림핵 WEB] Level1 워게임 session-basic 문제풀이

https://dreamhack.io/wargame/challenges/409

 

 

 

주어진 파이썬 코드 파일을 살펴보니 계정이 3개가 있다 guest,user,admin 이렇게 있는데 admin 계정의 비밀번호를 알아내야 플래그를 얻을 수 있다

 

일단 계정 정보를 다 알고 있는 user 계정으로 로그인을 해봤는데 

 

 

 

 

이렇게 뜬다 

 

 

 

 

 

개발자도구를 켜서 방금 로그인으로 인해 저장된 쿠키 값을 확인해봤다

sessionid에 value값이 저장되어 있다 

 

 

 

 

코드를 다시 보니 sessionid에서 쿠키 값을 가져오는 것을 확인할 수 있고 username이 admin일 경우 플래그 값이 나오고 아닌 경우 you are not admin이라고 나온다고 한다 

 

 

 


여기까지 해보고 도저히 모르겠어서 다른 분의 write up 보고 배웠숩니다..

 

 

 

코드를 보니 이게 페이지의 주소를 알려준다고 한다 ... 

메인 페이지 url에 뒤에 /admin을 붙여 실행해주면 숨겨져있던 (?) 새로운 페이지로 이동이 된다 

 

 

 

 

 

 

 

 

 

 

전에 풀어봤던 쿠기값 변조를 이용해 위에 나오는 admin 계정의 session_storage로 sessionid를 변경해주고 새로고침을 하면 

 

 

 

 

 

 

DH형식의 플래그를 찾을 수 있다 !!!!!

 

 

 


 

참고로 /은 메인페이지이고 /login은 로그인 페이지를 의미한다

여기서 나는 ..  @app.route의 의미를 몰라서 풀지 못한 문제이다 

저 부분을 이용해서 새로운 페이지를 열 수 있는지도 몰랐다

그리고 그 곳에서 admin 계정의 세션을 이용할 수 있다

 

 

 

드림핵 강의에서 이렇게 친절하게 설명을 먼저 해줬는데 무슨 말인지 이해를 못했다가 이제서야 알게됐다

 

 

 

주어진 소스에서 어떠한 계정이 있고, 접근할 수 있는 페이지가 무엇이 있는지, 그리고 해당 페이지에서 어떠한 기능을 제공하는지 천천히 분석해보는게 이 문제의 핵심공략이라고 한다 

 

화이팅 . . .

 

 

 

https://goldsony.tistory.com/m/258

 

감사합니다 ♥