- 방문자수
- HOT POST
전체 방문자
오늘 방문자
어제 방문자
Latest Story
-
INTEL SDM Vol.3 (System Programming) - SYSTEM ARCHITECTURE OVERVIEW 번역 및 정리
하드웨어 및 커널 공부를 위해(사실 하이퍼바이저 공부를 위해) 선행되어야만 하는 지식들(용어만 알고 있거나, 잘 모르는 것들)이 INTEL SDM에 정말 자세하게 나와있는데, 전부 영어여서 Notion + AI, 후처리를 통해서 번역 및 요약해봤습니다.Chapter 별로 하나씩 번역해볼 예정입니다. (약 700장정도의 분량)IA-32 아키텍처의 운영 모드:Protected Mode (보호 모드)프로세서의 기본 운영 모드.고성능과 유연성 제공.과거 소프트웨어와의 호환성 유지.메모리 보호, 멀티태스킹 같은 고급 기능 사용 가능.Real-Address Mode (실제 주소 모드)Intel 8086 프로세서와 유사한 환경 제공.간단한 프로그래밍 모델.Protected Mode 또는 System Managemen..
-
2024 연말결산 / 2025 계획
안녕하세요. 한 5개월동안 아무 글도 쓰지 못했던 것 같습니다.거창한 이유를 조금 붙여보자면, 2024 하반기에 생각보다 에너지를 쏟아야 했었던 일들이 많이 있었던 것 같습니다.해킹 공부도 그렇고, 의도치 않게 입시를 일찍 시작하기도 했고, 약 11번이 넘는 고사 등등..그래도 개인적으로 공부한 CS 및 해킹 쪽 내용은 따로 정리를 해두어서, 방학 중에 전부 포스팅 해볼 예정입니다.내년도 스위스에서 치뤄질 LakeCTF 예선의 문제를 풀면서 House Of Water라는 기법을 접했는데, 꽤 흥미로웠습니다.다음 글은, 이와 관련 된 내용을 써보고 싶습니다.그나저나, 크리스마스는 어느덧 4일만을 남겨두고 있네요. 2023년의 크리스마스가 얼마 지나지 않은 것 같은데요.어릴 때는 시간이 빠르게 지나가는 것을..
-
Codegate 2024 Junior Prequal Writeup
이번에 코드게이트 Junior에 나가게 되었습니다. BoB 활동을 하느라 CTF를 1년동안 공부하지 못해서, 최근 4달간 엄청난 공부를 하였습니다. 그 결과, 예선에서 약 8~10시간 정도 투자해 8위로 본선에 진출 할 수 있었습니다. WinPwn은 조금 더 잡았으면 풀 수 있었을 것 같은데, 전 날 너무 못 자서 피곤해서 자버렸습니다 .. ㅠ 더 수련해 나가야겠습니다. I participated in CodeGate Junior this year. I didn't study CTF for a year because I was doing BoB activities, so I studied a lot in the last 4 months. As a result, I was able to advance to..
-
TBTL 2024 CTF - Pwn From Past ( 4 solved) writeup
Chall.cpp// Built using Borland C++ 3.0 -- still the best IDE produced by humankind.// //// bcc -v CHALL.CPP //#include int main() { char name[32]; FILE *input = fopen("input.txt", "rt"); FILE *output = fopen("output.txt", "wt"); if (!input) { printf("Error opening input file!"); return 1; } if (!output) { printf("Error opening input file!"); return 1; } fscanf(input, "%[^ ]s..
-
SeedSeeker
FuzzSeedSeeker서론Fuzzing은 소프트웨어의 보안 취약점을 발견하기 위한 자동화된 테스트 기법 중 하나입니다. 이 방법은 임의의 데이터(또는 “Fuzz")를 소프트웨어 입력으로 제공하여 예외, 충돌, 또는 예상치 못한 행동을 유발하는지 탐색합니다. 소프트웨어 개발 및 보안 연구 분야에서 널리 사용되는 Fuzzing은 시스템의 견고성을 향상시키고, 잠재적인 보안 위험을 사전에 식별하여 해결할 수 있는 효과적인 방법으로 인정받고 있습니다.Fuzzing 과정에서 'Seed'의 중요성은 어느정도일까요? Seed는 퍼징 과정에서 사용되는 초기 입력 값이나 데이터 셋을 의미합니다. 좋은 Seed는 Fuzzer가 더 깊이 있는 경로를 탐색하도록 하여 보다 효율적으로 취약점을 발견할 수 있게 합니다. 예를..
-
ComRaceConditionSeeker
서론 COM(Component Object Model)은 마이크로소프트에서 개발한 소프트웨어 아키텍처로, 다양한 소프트웨어 컴포넌트들이 서로 통신하고 데이터를 교환할 수 있게 하는 기술입니다. 윈도우 운영 체제에서 널리 사용되며, 개발자들이 모듈식 컴포넌트를 통해 애플리케이션을 빌드할 수 있도록 지원합니다. COM은 언어 독립적인 방식으로 설계되어 있어, 다양한 프로그래밍 언어로 작성된 컴포넌트들이 서로 상호 작용할 수 있습니다. COM의 주요 개념은 객체지향 프로그래밍의 원칙에 기반을 두고 있으며, 인터페이스와 구현의 분리를 통해 소프트웨어 컴포넌트의 재사용성과 유지보수성을 높입니다. COM 객체는 정의된 인터페이스를 통해서만 접근할 수 있으며, 이 인터페이스들은 고유한 식별자인 GUID(Global ..
-
CodeQL Summary
CodeQL What is CodeQL? 데이터 흐름 분석 및 오염 분석 등을 통하여 코드 오류와 품질 등을 검사하고, 취약점을 찾기 위해 개발 된 도구 FACT database를 기반으로 QL이라는 쿼리 언어를 사용하여 database 내에서 취약한 패턴을 쿼리하여 데이터화, 분석을 진행함. 변수나 함수, 클래스 선언 뿐 아니라 변수 내에 할당 된 값도 추적이 가 다중 언어를 지원 Why We Use CodeQL? 사람이 일일히 수동으로 해야하는 취약점 분석 과정을 신속하게 자동화할 수 있는 툴로 서, 업데이트 등의 사유로 코드가 업데이트 되었을 때도 몇 분만에 코드를 분석하여 잠재적 위험 요소를 확인할 수 있음. QL Language & QL Query CodeQL의 구조와 문법은 SQL 문법과 비슷..
-
2024 IRIS CTF Write UP - 35th place
한국인분들은 아래 KOREAN 부분부터 읽으시면 됩니다. English Hi, I'm part of the DeadSec team this time, and I solved 2 prob on the CTF in a hurry during the BOB project, and one question with a teammate. Even though I solved the 3 prob, I thought it would be good to keep a record of it. PWN Insanity Check (PWN) #include #include #include void rstrip(char* buf, const size_t len) { for (int i = len - 1; i >= 0; i--) ..
CTF story
-
Codegate 2024 Junior Prequal Writeup
이번에 코드게이트 Junior에 나가게 되었습니다. BoB 활동을 하느라 CTF를 1년동안 공부하지 못해서, 최근 4달간 엄청난 공부를 하였습니다. 그 결과, 예선에서 약 8~10시간 정도 투자해 8위로 본선에 진출 할 수 있었습니다. WinPwn은 조금 더 잡았으면 풀 수 있었을 것 같은데, 전 날 너무 못 자서 피곤해서 자버렸습니다 .. ㅠ 더 수련해 나가야겠습니다. I participated in CodeGate Junior this year. I didn't study CTF for a year because I was doing BoB activities, so I studied a lot in the last 4 months. As a result, I was able to advance to..
-
TBTL 2024 CTF - Pwn From Past ( 4 solved) writeup
Chall.cpp// Built using Borland C++ 3.0 -- still the best IDE produced by humankind.// //// bcc -v CHALL.CPP //#include int main() { char name[32]; FILE *input = fopen("input.txt", "rt"); FILE *output = fopen("output.txt", "wt"); if (!input) { printf("Error opening input file!"); return 1; } if (!output) { printf("Error opening input file!"); return 1; } fscanf(input, "%[^ ]s..
-
2024 IRIS CTF Write UP - 35th place
한국인분들은 아래 KOREAN 부분부터 읽으시면 됩니다. English Hi, I'm part of the DeadSec team this time, and I solved 2 prob on the CTF in a hurry during the BOB project, and one question with a teammate. Even though I solved the 3 prob, I thought it would be good to keep a record of it. PWN Insanity Check (PWN) #include #include #include void rstrip(char* buf, const size_t len) { for (int i = len - 1; i >= 0; i--) ..
-
2023 Hacking Championship WriteUp - 2nd place
ENGLISH 1. Rockstar There are 72 functions, and we don't need to do the inverse operation. The first part of the flag is always 'flag{' and we only need to know the first 8 bytes to get the rest very quickly 2. Savage Fibonacci sequences can be optimized with DP 3. Crispy Chicken Attack (CCA) This problem is solvable if we know r. Since we can't decrypt flag directly, we can decrypt flag by mult..
-
2023 JBU CTF WriteUP
ENGLISH Recovery 802.11 After extracting the key with AirCrack, enter it into wireshark Decrypt Key and you should see something like this double canary Since one of the double canaries is on top of the buf, we only need to leak the real one with a put. The stack structure is Double Canary -> Buf -> Real Canary. from pwn import * e = ELF('./double_canary') libc = ELF('./libc.so.6') #p = process(..