분류 전체보기 69

2022 Incognito CTF Writeup

1. Mic Check Flag : INCO{L3t's_G0!!} 2. Forensic 1) Bondee 주어진 jpg 파일에 비밀번호로 추정되는 문자열과 하단부에 PK 포맷 파일이 있다. 해당 비밀번호로 zip 파일 압축 해제하면 pdf 파일이 존재한다. Ctrl + A 로 전체 선택해보면 하단에 안 보이는 글자가 있음을 알 수 있고, 이를 복사하여 확인하면 파이썬 코드가 나온다. number_list = [73, 78, 67, 79, 123, 105, 110, 99, 111, 95, 115, 119, 108, 117, 103, 95, 50, 48, 50, 51, 125] text_list = [] for i in range(len(number_list)): text_list.append(chr(num..

CTF Writeup 2023.03.26

2023 ACSC CTF Writeup - warmup + ngo

24문제 중 6문제 풀었다. 웜업 문제를 푼 다음 easy-ssti를 보다가, 깃헙 소스를 다 뒤져도 방법이 없어보여서 포기하고 다음 날 ngo를 풀었다. 1. Merkle Hellman #!/usr/bin/env python3 import random import binascii def egcd(a, b): if a == 0: return (b, 0, 1) else: g, y, x = egcd(b % a, a) return (g, x - (b // a) * y, y) def modinv(a, m): g, x, y = egcd(a, m) if g != 1: raise Exception('modular inverse does not exist') else: return x % m def gcd(a, b):..

CTF Writeup 2023.02.26

2022 Iris CTF

일요일 잠깐 시간내서 씨텦 참여 metacalc - __lookupGetter__('__proto__').constructor 를 통한 RCE Nonces and Keys - 첫 블록의 원문이 파일 시그니처임을 이용한 IV 구하기 1. metacalc (Web) metacalc 라는 node module 에서 RCE 취약점을 찾는 건데, 약간의 코드 패치가 이루어졌다. 아래는 metacalc/lib/sheet.js 이다. 'use strict'; const metavm = require('metavm'); const wrap = (target) => new Proxy(target, { get: (target, prop) => { if (prop === 'constructor') return null; +..

CTF Writeup 2023.01.08

C++ 테트리스 게임 제작

때는 2022.12.29일 목요일 바킹독 선생님의 실전 알고리즘 강의 영상을 보던 중 C++ 공부 중인 해온이의 대결 신청 나도 C++ 익힐 겸 하기로 했다. 오랜만에 하루종일 앉아서 코드만 짠 것 같다. 이런 기분을 중학생 때 게임 만들 때 느꼈었는데, 고등학교 와서는 못 느꼈다. 노래 반복재생 - 코드짜기 - 버그 발생 - 노래 멈추고 디버깅 - 다시 노래 재생 시간은 대략 29일 하루종일 + 30일 반나절 정도 걸렸다. 클래스는 다음과 같이 나눴다 Tetromino / Tetris / TetrisUI / Display TetrisUI와 Display는 static method로 구성되어있고, TetrisUI는 미노 정보만 받아서 Display 내 함수를 호출하는 역할, Display 는 테트리스와 ..

Programming 2022.12.31

2022 Layer7 CTF Writeup

포너블 Secom 과 Mic Check 못 풀어서 전체 3등 고등부 2등으로 마무리 중 3 때부터 매년 레쎄 씨텦에서 상품 얻어간다. 중3 ssd 고1 게이밍 마우스 고2 왼쪽의 헤드셋 고3은 키보드를 얻게됐다. Layer7 짱! 1. tea-time (Reversing 6 solves) 역산 짜면 된다. def decrypt(): res = [0] * 40 cipher = [3250307192, 247655037, 3305444027, 3548992586, 2003171038, 1264307023, 3163410791, 1311205716, 3018127296, 2958048297] for i in range(5): v7 = cipher[9 - 2*i] v8 = cipher[8 - 2*i] for j ..

CTF Writeup 2022.12.19

2022 WhiteHatContest Junior Final Writeup

본선 날짜와 인하대 면접 날짜가 겹쳐서 1인팀하게 된 대회다. 예선은 5위로 본선 진출하였고 본선에서는 6위로 마무리 했다. 요즘들어 포너블을 자꾸 안 잡게 되는 경향이 있는 것 같아 마음가짐을 새로 해야할 것 같다. 내가 해킹 입문할 때 라이트업 보고 공부를 많이 했었는데 (물론 지금도 그렇지만), 볼 때 이 사람이 어떤 사고과정을 거쳐서 문제를 풀어나가는지가 녹아있으면 이해가 잘 됐었던 것 같다. 그래서 시간 들여서 자세하게 써보기로 했다. 1. messenger - Reversing 위 시계 이모지들을 복호화하면 플래그가 나올 것 같다. main 함수가 초라하다. main에 없으면 INIT이나 FINI 를 의심해볼만 하다. INIT 함수들이 쭉 있다. INIT 1 부터 16까지는 *DAT_1040b..

CTF Writeup 2022.11.20

2022 Codegate Junior Final

2022년 2월에 예선을 9위로 본선에 오게 되었고 10위로 마무리 짓게 되었다. 장소는 서울 코엑스. 7700으로 집 바로 앞에서 가양역 종점까지 간 후 9호선 타고 봉은사역까지 가면 된다. 네이버 지도상으로 1시간 30분정도 걸린다하길래 10시 대회 시작에 맞춰 8시에 집에서 나왔다. 하지만 버스가 서울에 진입하는 순간 차가 꽉꽉 막히고 9호선 급행이 아닌 일반 열차를 탑승해서 봉은사역까지 한참 걸려 9시 50분에 봉은사역에서 내렸다. 다행히 봉은사역 7번 출구로 나오면 코엑스가 바로 앞이라 바로 들어갔는데, 코엑스가 넓어서 어디로 가야할지 잘 몰랐다. 그렇게 10시 5분에 대회장 도착하고 허겁지겁 노트북을 꺼내서 접속하려는데 와이파이 비번이 안 맞는 이슈가 생겼지만 스탭 분이 와이파이 에그를 주셔서..

CTF Writeup 2022.11.08