분류 전체보기

    [CTF-D/Network] lol team이라는 의심스러운 팀이 있습니다.

    📢 Description lol team이라는 의심스러운 팀이 있습니다. 제가 잠시 동안 그들을 주시하다가 그들이 비밀 번호를 바꾸고 있을 때 그들의 브라우저를 스니핑 할 수 있었습니다. 그들은 비밀번호를 무엇으로 바꿨습니까? Hint : pcapng파일 여는 방법 모르십니까? 주어진 파일을 Wireshark로 열고, 패킷 파일에서 변경된 비밀번호를 찾아야할 것 같은 문제다! ✏️ Anlayze 패킷파일을 Wireshark를 사용해 열어보면 TCP 프로토콜에 의한 통신 내용과 HTTP 통신을 확인할 수 있다. 그 중에서도 "/api/account/update"라는 키워드를 보고 패스워드 변경과 관련한 내용을 확인할 수 있을 듯 하여 좀 더 자세한 내용을 확인하기 위해 클릭한다. 클릭하면 HTML Form..

    [CTF-D/Network] woodstock1

    📢 Description 누군가 illustris와 codelec 사이의 채팅을 가로 챘다. KEY format : BITSCTF{(key)} 두 사람 사이에 주고 받은 채팅을 가로챈 패킷 파일이 제공되고, 둘이 주고받은 내용 중 플래그를 찾으면 되는 것 같다. ✏️ Analyze illustris와 codelec 사이의 TCP 통신을 하고 있는 것을 확인할 수 있고, 총 3번의 stream으로 구성되어 있는 것을 알 수 있다. [Statistics] > [Conversations] 메뉴를 선택해 확인하면, 총 3개의 TCP stream을 확인할 수 있다. 그 중 첫 번째 stream을 선택한 후 [Follow Stream]을 누르게 되면 대화내용과 함께 플래그를 확인할 수 있다.

    [CTF-D/Network] 당신은 캡처 파일에서 플래그를 찾을 수 있는가?

    📢 Description 따로 문제 설명이 있지는 않고, 패킷 캡쳐 파일(pcap)만 주어졌다. ✏️ Analyze wireshark를 사용해 주어진 pcap 파일을 열어보면 대략적으로 아래와 같은 정보를 얻을 수 있다. TCP 통신을 통해 하나의 목적지와 통신을 했다. 데이터를 1byte씩 전송한다. 하나씩 어떤 데이터를 전달하는 것인지 알기 어렵기 때문에 Wireshark에서 제공하는 [Statistics] > [Conversations] 기능을 사용했다. 현재 TCP 기반 통신을 하고 있으므로 TCP 를 선택하고 [Follow Streams]를 선택하게 되면 아래와 같이 플래그를 확인할 수 있다.

    네트워크 메세지 전송 방식: 유니캐스트, 멀티캐스트, 브로드캐스트

    🌐 유니캐스트 (Unicast) 유니캐스트 방식은 고유 주소(MAC Address)로 식별된 하나의 네트워크 목적지에 1:1로 정보를 전송하는 방식을 말한다. 전송하는 프레임에 출발지와 목적지의 MAC Address를 포함한다. 로컬 네트워크에 연결되어 있는 모든 시스템은 해당 프레임을 전달받은 후, 랜카드에서 자신의 주소와 비교한다. 로컬 이더넷은 기본적으로 연결된 모든 시스템에 프레임을 전송하는 Shared 방식을 사용한다. 전달하는 과정까지 CPU에 영향을 주지 않으므로 시스템의 성능을 저하시키지 않는다. 주소가 다른 경우 해당 프레임은 버리고, 주소가 같은 경우 해당 프레임을 CPU로 올린 후 처리한다. 🚨 유니캐스트 플러드 (Unicast Flood) 목적지의 고유 주소인 MAC Address를..

    [Dreamhack] Carve Party

    🧐 Wargame - Carve Party Web Hacking 코스의 DevTools를 공부하고 난 후에 관련된 문제로 Carve Party를 추천하셨길래 풀어봤다! 💁‍♀️풀이 (1) - 실패 문제 설명을 읽었을 때 가장 먼저 10000번 클릭해서 플래그를 얻으라는 말에 클릭 횟수를 강제로 10000으로 만들면 되지 않을까?!라는 생각으로 관련된 부분에 breakpoint를 걸고 counter 변수의 값을 10000으로 설정했다. 하지만 호박도 제대로 Jack'o'lantern이 되지 못하고.. 플래그도 얻지 못했다.. 💁‍♀️풀이 (2) - 성공 $(function() { $('#jack-target').click(function () { for(var j = 0; j

    [Algorithm] 병합/합병 정렬 (Merge Sort)

    🧐 병합 정렬(Merge Sort)이란? 병합 정렬(Merge Sort)는 비교 기반의 정렬 알고리즘으로, 안정 정렬에 속하는 분할 정복 알고리즘이다. 병합 정렬의 알고리즘은 크게 분할(Divide)-정복(Conquer)-결합(Combine), 3단계로 나눌 수 있다. 대략적으로 그 과정을 설명하자면, 정렬되지 않은 배열을 N개의 배열로 분할한다. 배열(리스트)의 길이가 0또는 1인 경우 정렬된 것으로 여긴다. 반면, 그렇지 않은 경우 정렬되지 않은 배열을 절반으로 다시 분할 한 후, 값을 비교한다. 각 부분 배열을 재귀적으로 병합 정렬하며 정렬한다. 두 개의 부분 배열을 다시 하나의 정렬된 리스트로 결합한다. 병합 정렬은 알고리즘이 복잡하지만, 시간복잡도의 측면에서 좋은 효과(O(NlogN))를 보인다..

    HTTP Request 와 Response

    🌐 HTTP (HyperText Transfer Protocol) HTTP(HyperText Transfer Protocl)는 인터넷 상에서 HTML과 이미지, 파일, 영상 등의 자료를 주고 받기 위해 설계된 서버-클라이언트 모델의 전송 프로토콜이다. TCP/IP 위에서 작동하고 있으며, 하나의 연결에는 하나의 요청을, 하나의 요청에는 하나의 응답을 주는 구조로 되어 있다. 🤜 HTTP Request (요청) ① start line HTTP 메소드 (GET, PUT, POST / HEAD, OPTIONS 등) Request Target: 주로 URL, 프로토콜, 포트, 도메인의 절대 경로로 나타낸다. → HTTP 메소드에 따라 포맷이 달라진다. origin: 끝에 ?와 쿼리 문자열이 붙는 절대 경로 ⇒ ..

    네트워크 통신 프로토콜 - TCP, UDP, IRC

    🌐 TCP(Transmission Control Protocol) 🔏 Protocol 이란? 프로토콜은 해석하면 "규약"으로, 서로 다른 시스템에 있는 개체들이 성공적으로 데이터를 주고받을 수 있도록 하는 통신 규약을 말한다. 특정한 목적을 위해서는 각 목적에 따른 프로토콜을 반드시 지켜야하며, 컴퓨터끼리 서로 소통할 때는 같은 프로토콜을 사용해야만 한다. 네트워크 프로토콜은 총 7계층에 따라 그 종류를 나눌 수 있다. ( ⇒ OSI 7 layer) 그 중에서도 대표적인 프로토콜을 살펴보자면 아래와 같다. TCP/IP (Transmission Control Protocol / Internet Protocol): 전송 제어 및 인터넷 프로토콜 → 인터넷에 연결하기 위해 반드시 지켜야하는 프로토콜 FTP (..

    패킷 분석 도구 Wireshark 사용법

    🦈 Wireshark 란? WireShark는 오픈소스 패킷 분석기로, 실시간 패킷 확인이 가능한 유용한 도구다!! Wireshark를 통해 제3자가 두 개체 사이의 네트워크에서 전달되는 패킷을 수신하여 저장할 수 있다. 이 패킷은 PCAP이라는 파일 포맷으로 저장된다. PCAP (Packet CAPture): 네트워크 트래픽을 캡처하는 API UNIX 계열: libpcap Windwos: Winpcap ⇒ 운영체제에서 지원하는 캡처 라이브러리 👩‍💻 Wireshark 사용하기 0️⃣ 시작 - 네트워크 인터페이스 선택 현재 자신의 기기(컴퓨터)에 설치/연결되어 있는 네트워크 어댑터들이 나온다. 그 중에서 패킷을 캡처할 인터페이스를 선택하면 된다. 1️⃣ 메뉴 차례대로 [File] [Edit] [View]..

    LAN(근거리통신망)과 Ethernet(이더넷)

    🏫 LAN(Local Area Network) 이란? LAN은 Local Area Network의 줄임말로 "근거리 통신망", 다시 말해 가까운 거리의 한정된 공간에서 구성되는 네트워크다. 대부분의 LAN은 "router(라우터)"를 중심으로 인터넷에 연결한다. LAN 통신은 거의 항상 Ethernet, Wifi, 또는 둘을 동시에 사용해 해당 네트워크에 포함되는 기기들과 연결한다. LAN의 특징 전송되는 패킷의 손실과 지연이 적다. (안정성/신뢰성이 높음) 사용자 간의 자료(데이터) 공유 및 통신이 쉽고 빠르다. 전송 거리가 짧다. 네트워크에 노드가 많아질수록 충돌이 발생해 성능이 떨어진다. LAN의 종류 (1) client-server LAN client-server LAN은 중앙 서버에 연결된 장치..