[PicoCTF Practice] Reverse
·
Study/Reversing
문제 파일을 받아서 IDA로 뜯어보고 디컴파일링 하니 플래그가 쉽게 나왔다.
[PicoCTF Practice] file-run1, file-run2
·
Study/Reversing
제공해주는 run 파일을 IDA 로 뜯어보았다.  플래그를 출력해주는 프로그램이었고, 더 자세히 디버깅 해보았다.  플래그를 찾았다. file-run2 문제도 동일한 방법으로 풀 수 있다.
[PicoCTF Practice] Safe Opener 2
·
Study/Reversing
제공해주는 SafeOpener.class 안에 플래그를 포함한 문자열이 있었다.
[PicoCTF Practice] vault-door-training
·
Study/Reversing
문제에서 아래 코드를 제시해주었다.import java.util.*;class VaultDoorTraining { public static void main(String args[]) { VaultDoorTraining vaultDoor = new VaultDoorTraining(); Scanner scanner = new Scanner(System.in); System.out.print("Enter vault password: "); String userInput = scanner.next(); String input = userInput.substring("picoCTF{".length(),userInput.length()-1); if (vau..
[PicoCTF Practice] Transformation
·
Study/Reversing
1. 문제 이해주어진 암호화 방식enc = ''.join([chr((ord(flag[i]) 이 코드는 아래와 같은 과정을 거칩니다:입력 문자열(flag)을 두 글자씩 나눕니다.예: flag = "abcdef"라면 ["ab", "cd", "ef"]로 나눔.각 두 글자를 특정 방식으로 합칩니다.첫 글자의 ASCII 값을 왼쪽으로 8비트(1 byte) 이동.두 번째 글자의 ASCII 값을 더함.결과값은 새로운 ASCII 값이 됨.예:'a'(97) → 97 'b'(98) → 24832 + 98 = 24930chr(24930)은 새로운 문자.합쳐진 결과를 문자로 변환하여 최종 암호화된 문자열 생성.복호화의 목표암호화된 결과 灩捯䍔䙻ㄶ形楴獟楮獴㌴摟潦弸弰㑣〷㘰摽를 역으로 처리하여 원래의 flag를 복원.2. 복호화의..
[1주차 TIL] KnockOn Bootcamp 프로토콜
·
Education/KnockOn Bootcamp 3rd
프로토콜이란?프로토콜(Protocol)은 네트워크 통신에서 데이터를 주고받기 위한 약속과 규칙을 의미합니다.쉽게 말해, 언어의 문법과 같은 역할을 하며, 서로 다른 장치가 통신을 이해할 수 있도록 도와줍니다.예: HTTP에서는 데이터를 요청할 때 "GIVE A"나 "SEND A"가 아닌, 정해진 형식인 **GET A**를 사용해야 합니다.이번 학습에서는 프로토콜의 기본 개념부터 HTTP/HTTPS에 대해 다룹니다.1. OSI 7계층과 프로토콜OSI 7계층은 네트워크 통신을 7단계로 나누어 각 계층이 독립적으로 작동하면서 데이터를 전송하는 구조입니다.1계층 (물리 계층): 전기적 신호나 물리적 매체를 통해 데이터 전송.2계층 (데이터 링크 계층): 프레임 단위로 데이터 전송, MAC 주소를 사용.3계층 (..
[HISCON 2024] CTF Write-Up
·
Contest Write-Up
개요일시: 2024년 11월 9일 (토) 13:00 ~ 16:00 (온라인 대회)닉네임: 0xH0P3 (2위 수상)시작하기 (Misc)문제 접속 정보의 /admin 페이지로 들어가니 flag가 나왔다.Discord (Misc)디스코드에 참가하니 #flag 채널에 flag가 있었다.퀴즈 (Web)접속 정보를 들어가니 아래 문제가 나왔다.관리자 도구유니코드를 포함한 플래그를 찾으세요:HSOC{\\u006c\\u0065\\u006d\\u006f\\u006e\\u0074\\u0072\\u0065\\u0065\\u000d\\u000d}유니코드인 것을 확인했고 해독하니 아래 결과가 나왔다.\\u006c = l\\u0065 = e\\u006d = m\\u006f = o\\u006e = n\\u0074 = t\\u00..
[1주차 TIL] KnockOn Bootcamp 웹이란?
·
Education/KnockOn Bootcamp 3rd
1. 웹이란?웹은 "World Wide Web"의 약자로, 인터넷을 기반으로 정보를 주고받을 수 있는 서비스입니다.웹은 우리가 사용하는 다양한 사이트(예: 블로그, 쇼핑몰, 검색엔진 등)를 제공하며, 인터넷이라는 네트워크를 통해 작동합니다.2. 웹과 인터넷의 차이웹: 인터넷 위에서 작동하는 하나의 서비스입니다. 예를 들어, 웹사이트는 인터넷을 통해 접속할 수 있는 정보의 집합입니다.인터넷: 전 세계의 컴퓨터와 네트워크를 연결하는 거대한 통신망입니다. 단순히 물리적인 연결망으로, 이를 기반으로 이메일, 파일 전송, 웹 등의 서비스가 실행됩니다.즉, 웹은 인터넷의 일부라고 볼 수 있습니다.3. 웹서버의 역할웹서버는 사용자가 요청한 정보를 처리하고, 해당 정보를 사용자에게 반환합니다.예를 들어, 사용자가 웹사..
[Dreamhack Wargame] ROT128
·
Study/Cryptography
문제 내용rot128.py는 flag.png 파일을 암호화하여 encfile로 저장하는 프로그램의 소스 코드입니다. (풀이자가 프로그램을 직접 실행할 수는 없습니다.)주어진 encfile을 복호화하여 flag 파일 내용을 알아낸 뒤, flag.png에서 플래그를 획득하세요!플래그의 형식은 DH{...} 입니다. 풀이 방법이 작업은 암호화된 파일(encfile)을 원본 이미지(flag.png)로 복호화하는 과정을 다룹니다.암호화 과정:원본 파일의 바이트를 헥스 값(2자리 문자열)으로 변환.각 헥스 값을 128만큼 순환적으로 증가시키는 방식으로 암호화.복호화 과정:암호화된 헥스 값을 128만큼 감소시켜 원본 값을 복원.복호화된 값을 다시 바이너리 데이터로 변환하여 이미지로 저장. PoC Code#!/usr/..
[Dreamhack Roadmap] Background: HTTP/HTTPS
·
Study/Web Hacking
인코딩컴퓨터의 모든 데이터는 0과 1로 구성됩니다. 지금 보고 있는 글도 사실은 0과 1의 집합입니다. “사과”가 사과를 가리키는 데 약속이 필요하듯, 0과 1로 우리의 문자를 표현하는 것도 일종의 약속 덕분입니다. 이런 약속들을 특별히 인코딩(Encoding) 표준이라고 부르는데, 대표적으로 아스키(Ascii)와 유니코드(Unicode)가 있습니다.아스키는 7비트 데이터에 대한 인코딩 표준입니다. 이를 이용하면 알파벳과 특수 문자 등을 표현할 수 있습니다. 예를 들어, 아스키에서 1 한 개, 0 다섯 개, 1 한 개를 이어 붙이면 “A”로 해석됩니다. 이에 따라 “1000001”이라는 데이터를 아스키로 변환하면 “A”가 됩니다.컴퓨터가 개발된 초기에는 각 문자권마다 고유의 인코딩 표준을 사용했습니다. ..