[드림핵] 워게임 session-basic 풀이

SCY·2023년 1월 16일
0

dreamhack

목록 보기
10/12

문제

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

풀이

문제 분석

users = {
    'guest': 'guest',
    'user': 'user1234',
    'admin': FLAG
}

위 정보대로 login 페이지에 guest, guest를 입력해보면 아래와 같은 창이 뜬다.

마찬가지로 admin 계정으로 접속할 수 있는 방법을 마련하면 되는 것.

해결 과정

session_storage[session_id] = username

위 코드를 통해 session_storage에 admin의 session_id가 있음을 확인 할 수 있다.

@app.route('/admin')
def admin():
    # developer's note: review below commented code and uncomment it (TODO)

    #session_id = request.cookies.get('sessionid', None)
    #username = session_storage[session_id]
    #if username != 'admin':
    #    return render_template('index.html')

    return session_storage

위 주소에서 session_storage를 리턴함을 알 수 있고
주소창에 '/admin'을 입력해본다.

입력 시 다음과 같이 sessionid 정보가 뜨고 admin의 sessionid를 찾아 devTool에서 sessionid를 변경해준다.

@app.route('/')

flag는 위의 주소에서 출력됨을 확인해 주소도 바꾸어 준다.

정답

DH{8f3d86d1134c26fedf7c4c3ecd563aae3da98d5c}

profile
성장 중독 | 서버, 데이터, 정보 보안을 공부합니다.

0개의 댓글