해킹&보안/웹해킹

[웹 해킹 : 나타스(Natas 워게임] Level 4 -> 5(웹 해킹 / 보안)

yamaeking 2025. 4. 4. 11:12

Natas wargame Level 4 -> 5 로그인 정보와 URL 은 아래와 같다.

 

OverTheWire

We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Username: natas1 URL: http://natas1.natas.labs.overthewire.org

overthewire.org

 

 

1. 문제 풀이

 > Natas URL로 접속하면 아래 화면이 나온다

 

로그인이 안 되어 있기에 접근이 불가하다고 한다. 개발자 도구(F12)를 눌러서 Application 항목에서 쿠키를 확인해 보면 아래와 같이 loggedin 이 0으로 되어 있는 것을 확인할 수 있다.

 

이걸 1로 바꾸면,,,,짜잔!

 

비밀번호 GET!

 

 

쿠키란 무엇인가에 대해서도 한 번 정리해 보고 가는 것이 좋을 것 같아서 아래와 같이 정리하여 본다.


> 쿠키(Cookie)란?

쿠키는 웹사이트가 사용자의 브라우저에 저장하는 작은 데이터 조각이다. 클라이언트 쪽 크라우저에 저장한다라고 보면 됨. 주로 사용자 식별, 로그인 유지, 설정 저장 등에 활용되며, 서버와 클라이언트 간의 상태 정보를 유지할 수 있게 해준다.


 >쿠키의 등장 배경

웹은 본래 무상태(Stateless) 프로토콜인 HTTP를 기반으로 동작한다. 즉, 사용자가 로그인 했는지, 어떤 설정을 했는지 기억하지 못한다는 문제점이 있었음. 그래서 이를 해결하기 위해 나온 것이 쿠키이다.


> 쿠키의 기본 구조

쿠키는 브라우저에 key-value 형태로 저장된다. 아래처럼 Name이 Key이고, Value가 value 라고 보면 되겠다.

주요 속성들

쬐깐해서 잘 안 보이는 것들도 있다;

속성설명
Name=Value 쿠키의 기본 데이터 (예: loggedin=1)
Expires / Max-Age 만료 시점 (없으면 브라우저 종료 시 삭제)
Path 어떤 경로에만 쿠키가 포함될지
Domain 어떤 도메인에 쿠키가 전송될지
HttpOnly JavaScript에서 접근 불가능하게 함 (XSS 방지용)
Secure HTTPS 환경에서만 전송됨
SameSite 쿠키의 크로스 사이트 전송 제어 (Lax, Strict, None)

 > 쿠키의 동작 흐름

  1. 서버 → 클라이언트
    서버가 Set-Cookie 헤더로 쿠키를 브라우저에 전달
  2. 클라이언트 → 서버
    이후 같은 사이트로 요청을 보낼 때 Cookie 헤더로 쿠키 자동 첨부

> 쿠키의 활용 예시

활용 사례설명
로그인 상태 유지 세션 ID를 쿠키에 저장하고 로그인 유지
장바구니 기능 사용자의 선택 상품 정보를 임시 저장
사용자 설정 기억 언어, 테마 등 개인 설정 보존
트래킹/분석 방문자 행동 분석용 쿠키 (Google Analytics 등)

 

 

 

2. 요약

☞ 쿠키를 조작하여 로그인 상태인 것처럼 만들고 비밀번호를 얻으면 된다!