본문 바로가기
dreamhack

[Dreamhack] cookie (Beginner)

by yejin_l 2023. 10. 3.
728x90

Description

쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다.

 

풀이

step 1. 접속 정보 사이트로 접속

step 2. 문제 파일 다운로드 후 코드 확인

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    elif request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        try:
            pw = users[username]
        except:
            return '<script>alert("not found user");history.go(-1);</script>'
        if pw == password:
            resp = make_response(redirect(url_for('index')) )
            resp.set_cookie('username', username)
            return resp
        return '<script>alert("wrong password");history.go(-1);</script>'

→ guest/guest 계정이 default라, 일단 이 계정으로 로그인이 가능한 것을 확인 가능하다.

 

step 3. url창에 /login을 붙여서 login페이지로 들어간 후, guest : guest로 로그인해보자.

 

step 4. 마지막으로 개발자 도구를 열어 Application -> Cookies의 username을 guest에서 admin으로 변경해주고 새로고침해주면,

플래그가 나온다.

728x90