[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. 복호화의..
[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”가 됩니다.컴퓨터가 개발된 초기에는 각 문자권마다 고유의 인코딩 표준을 사용했습니다. ..
[Dreamhack Roadmap] Background: Web
·
Study/Web Hacking
웹인터넷을 기반으로 구현된 서비스 중 HTTP를 이용하여 정보를 공유하는 서비스를 웹이라 합니다. 여기서 정보를 제공하는 주체를 웹 서버 (Web Server), 정보를 받는 이용자를 웹 클라이언트 (Web Client) 라고 합니다.웹 서비스, 프론트엔드와 백엔드이용자의 요청을 받는 부분을 프론트엔드 (Front-end), 요청을 처리하는 부분을 백엔드 (Back-end)라고 부릅니다.프론트엔드는 이용자에게 직접 보여지는 부분으로, 웹 리소스 (Web Resource)라는 것으로 구성됩니다. 페이지가 보여주고 있는 정보들은 모두 웹 리소스에 명시되어 있습니다. 페이지에 담기는 글, 글자들의 색깔과 모양, 배경 색상, 이미지의 크기나 투명도 등이 관련 언어로 적혀있습니다. 웹 리소스웹 리소스란, 웹에 갖..