원문 링크: Cookies 문제
이번에는 이전에 풀었던 Cookie 문제를 Burp Suite를 활용해 해결해보려고 합니다.
Burp Suite는 브라우저와 서버 간의 HTTP/S 트래픽을 가로채고 수정할 수 있는 강력한 웹 프록시 기능을 포함한 웹 애플리케이션 보안 테스트 도구입니다.
기본적인 동작 구조는 아래와 같습니다:
서버는 쿠키의 sessionid 값을 통해 username을 조회하고,
만약 해당 username이 admin이라면, FLAG 값을 출력합니다.
session_id = request.cookies.get('sessionid')
username = get_username_from_session(session_id)
if username == "admin":
return FLAG

기존에는 개발자 도구(F12)를 통해 쿠키를 직접 수정했지만,
이번에는 Burp Suite를 활용해 브라우저에서 전송되는 요청을 가로채고 분석해보겠습니다.
우선 guest 계정으로 로그인합니다.
ID / PW: guest / guset
로그인 요청을 보면 아래와 같이 username과 password가 전송된 것을 확인할 수 있습니다.
username=guest&password=guset


다음 요청에서는 아래와 같은 헤더가 포함됩니다:
Cookies: username=guest
이 부분을 Burp Suite를 통해 가로채어 guest를 admin으로 변경한 후 다시 전송하면
Cookies: username=admin


Burp Suite를 이용하면 단순히 개발자 도구를 이용할 때보다 훨씬 정밀하게 패킷을 분석하고 조작할 수 있습니다.
이런 툴을 통해 실제로 웹 애플리케이션의 보안 취약점을 효과적으로 탐지하고 테스트할 수 있다는 점이 굉장히 흥미로웠습니다.