쿠키 인증 로그인 시스템을 이용한 문제이다
웹 해킹 문제 주소를 받고 처음에는 기본으로 주는 계정이 없나?
라는 생각에 잠깐 멈칫 했지만
같이 공개되는 서버 파일을 자세히 보니 그냥 username이라는 쿠키가 있기만 해도 로그인 처리가 되는 취약점이 있는 것 같았다
@app.route('/')
def index():
username = request.cookies.get('username', None)
if username:
return render_template('index.html', text=f'Hello {username}, {"flag is " + FLAG if username == "admin" else "you are not admin"}')
return render_template('index.html')
문제의 코드 ^^^
실제로 내가 생각한게 맞는지 테스트를 해보았고 정확했다
간단하게 username이라는 쿠키의 값을 admin으로 바꿔주니 원했던 Flag가 나오는 것을 볼 수 있다