본문 바로가기

#CTF 2020

CCE 2020 예선 #Forensic - [중]Webpacket

반응형

2020 사이버공격방어대회 예선 09.26_9:00-24:00

 

[그림1. 문제]

 

  • 문제에서 인증서버에 로그인을 하라고 한다.
  • 로그인 페이지를 먼저 찾아보았다.
  • 필터를 http로 입력하고 제일 처음에 뜨는 패킷을 follow tcp stream으로 확인해 보았다.

 

[그림2. ip]

 

  • ip는 13.209.132.135:4423이다.

 

[그림3. login 화면]

 

  • ip에 접속해보면 간단한 로그인 창이 뜨는데 아무렇게 입력해보면 fail...이라고 뜬다.
  • ip, pw를 찾아보았다.
  • ctrl+f를 눌러 id를 검색해보았는데 websocket패킷이 나왔다.
더보기

웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 

웹소켓은 HTTP와 구별된다. 두 프로토콜 모두 OSI 모델의 제7계층에 위치해 있으며 제4계층의 TCP에 의존한다. 

ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93

 

[그림4. websocket]

 

 

  • 필터에 websocket을 입력해서 하나씩 내려보았다.
  • 여러가지 id와 pw가 나온다.
  • 처음에 id는 guest, pw는 DEVFPW라고 나오지만 바로 밑 패킷에 fail이라고 적혀있다.
  • 좀 더 내려가다 보니 success!를 찾았다.
  • "id":"admin",
  • "pw":"@@F\u0011\u0013\u0011\u0013XAE\u001a\u0011G\u0010\u0013\u0015\u0014F\u0015G\u001a\u001b\u0013\u0013\u001b\u0016BE\u0012\u0013B\u0017\u001a\u0011AF@\u0011E\u0016^"
  • pw가 좀 이상하다... 암호화되어 있는 것 같다.

 

[그림5. login.js]

 

  • 페이지 소스를 보니 login.js가 있다. 
  • 들어가보면 첫줄에 encode라고 적혀있다.

 

[그림6. 콘솔]

 

  • login.js화면에서 개발자 도구를 클릭해 콘솔 창에서 그림6과 같이 입력해보았다.
  • 디코딩되어 플래그 형태가 나왔다.
  • pw에 입력해보았지만 아닌가......?
  • 형태가 플래그라 정답에 입력해보았지만 이것도 아니였다... 
  • { }안에 헥스값 같아 디코딩 해보아도 뭐가 안나온다....
  • 다 푼 것 같은데...;;;
  • Flag : cce2020{bf92d3067e6d980085af10a492bec2f5}   (이게 맞는건지...)

 

 

 

 

반응형