Cookie, session 문제 풀이

?

웹해킹은 웹사이트나 웹서비스에 있는 취약점을 찾아서

그 약점을 이용하거나 시험하는 모든 활동

프로토콜 이란?

 

프로토콜은

컴퓨터나 기기 간의 통신을 위한 규칙 체계이자 약속입니다. 사람들이 대화할 때 문법을 지키는 것처럼, 기기들도 데이터를 주고받을 때 정해진 프로토콜을 따라야 서로 이해하고 원활하게 소통할 수 있습니다

HTTP VS HTTPS

둘다 일단은 웹에서 클라이언트와 서버 간에 데이터를 주고받기 위한 통신 규약(프로토콜)입니다.

 

HTTP

서버와 클라이언트 간의 데이터 교환을 요청과 응답 형식으로 정한 프로토콜 입니다

살짝 보안상으로 많이 취약합니다.

 

HTTPS

HTTPS는 HTTP에 SSL/TLS 프로토콜을 추가하여 데이터를 암호화해주는데요

즉, HTTPS는 보안이 강화된 HTTP라고 이해하면 쉽습니다

 

쿠키 VS 세션

 

쿠키

사용자의 정보를 클라이언트 에 저장하는 작은 데이터 파일입니다
클라이언트에서 관리됩니다.
 
세션

세션은 사용자와 서버 간의 상태를 유지하는 메커니즘으로 세션 ID를 사용하여 사용자를 식별하게 됩니다
서버에서 관리가 됩니다.
 

COOKIE

서버에 들어가 보았더니 간단한 웹 사이트 하나가 나옵니다
 

Login 버튼을 눌렀더니 로그인을 할 수 있는 공간이 나옵니다.
 

아직은 뭔가를 할 수 있는것이 보이지 않아서 코드를 살펴 보았습니다.
아이디와 비밀번호를 발견 하였습니다.
 

일단은 로그인 화면 코드 입니다.


코드에서는 로그인 성공시에  username이라는 이름의 쿠키를 만들고, 그 쿠키에 사용자의 이름을 저장합니다.
그 값을 username 변수(즉, 로그인한 사용자의 이름 문자열) 에 저장하고,
그 값을 100% 신뢰하여(I'm 신뢰에요.) 유저를 판단한다는 사실을 알아내었습니다.
즉, 쿠키 값만 admin으로 변경하면 FLAG를 획득할 수 있을것으로 보입니다.

바로 guest로 로그인을 해주고

f12를 눌러 쿠키를 확인해주고 admin으로 변경을 하였더니

안녕 어드민, 플래그는 DH{~~~~~~}이야

이렇게 플래그가 나왔습니다.
 

 
 

session-basic

서버에 들어가 보았더니 간단한 웹 사이트 하나가 나옵니다

Login 버튼을 눌렀더니 로그인을 할 수 있는 공간이 나옵니다.

아직은 뭔가를 할 수 있는것이 보이지 않아서 코드를 살펴 보았습니다.
아이디와 비밀번호를 발견 하였습니다.

 
방금 전에 풀었던 cookie 문제와 유사하지만 이번에는 난수로 만들어진 세션을 확인 하고 있습니다

딱봐도 뭔가 이상해보이는 코드를 찾았습니다.
원래는 admin만 접근 가능한 세션 스토리지인것 같은데 주석 처리 되어 있습니다.

들어가자마자 admin의 세션이 나오는것을 볼 수 있습니다.

\

그래서 바로 로그인 해주고

세션을 변경 해주었더니

플래그가 나오는것을 볼 수 있습니다.
 
추가

XSS 란?

웹 사이트에 악성 스크립트를 삽입하여 사용자의 브라우저에서 해당 스크립트가 실행되도록 하는 공격입니다 .
XSS는 크게 저장형(Stored), 반사형(Reflected), DOM 형(DOM-based) 세 가지 종류로 나뉩니다

  • 저장형
    • 공격자가 악성 스크립트를 웹 서버의 데이터베이스나 파일 등에 영구적으로 저장하는 방식입니다. 
    • 게시판 글쓰기나 댓글처럼 사용자의 입력이 서버에 저장되는 부분에 스크립트를 삽입합니다.
    • 다른 사용자가 해당 게시글이나 댓글을 열람할 때 스크립트가 실행됩니다
  • 반사형
    • 악성 스크립트가 포함된 URL을 사용자가 클릭했을 때, 서버가 스크립트를 "반사"하여 실행시키는 방식입니다.
    • 서버에 스크립트가 저장되지 않는 1회성 공격입니다
    • 악성 스크립트가 포함된 URL을 사용자에게 이메일, 메신저 등으로 보내 클릭하도록 유도합니다
  • dom형
    • 서버 측에서가 아니라 웹 브라우저의 DOM환경에서 스크립트가 실행됩니다
    • 사용자가 특정 URL에 접속했을 때, 클라이언트 측 스크립트가 취약점을 이용해 악성 스크립트를 동적으로 삽입하고 실행시킵니다 
       

 

CSRF란?

사용자가 로그인한 상태에서 의도치 않게 특정 웹사이트에 악성 요청을 보내도록 유도하는 웹 보안 공격입니다.
공격자는 사용자의 웹 브라우저를 속여 게시물 삭제 등 사용자가 원치 않는 행위를 수행하게 만듭니다
 
XSS와 CSRF는 비슷해 보이지만 조금 다릅니다.
XSS는 관리자가 아닌 이가 사이트에서 코드를 삽입해 사용자를 속여 사용자를 공격하는 방식이라면
CSRF는 사용자가 아닌 이가 사용자 인 척을 하여 사이트를 속이며 사용자를 공격하는 방식이다

'web > 웹 해킹' 카테고리의 다른 글

baby-union 문제 풀이 + 여러 sql injection 방식  (0) 2025.11.08
simple_sqli_chatgpt 문제 풀이  (0) 2025.11.06
BypassIF 문제 풀이  (0) 2025.11.06
sqli, command injection 문제 풀이  (1) 2025.11.05
XSS , CSRF 문제 풀이  (0) 2025.11.04