Hack/CTF 6

CCE 2025 Preliminaries write up

0. IntroCTF는 꾸준히 나가긴 했는데 뭔가 오랜만에 CTF를 나간 기분이었다.안타깝게도 본선은 못올라갔지만...그래도 나름 만족스럽게 문제를 풀었다.다음번엔 본선 진출을 할 수 있으면 좋겠다. 1. book[Environment]Ubuntu 24.04[Vuln]간단한 ROP 문제이다. main만 보면 되는데 많이 허술하게 되어 있다. 취약점은 다음과 같다. 1. page_num이 0~3까지라고 하긴 하지만 실제로 입력 가능한 숫자는 4까지이므로 bof 발생2. edit_size를 입력받긴 하지만 0x40만큼 무조건 수정 가능 view를 하게 되면 처음부터 읽으므로 page num = 0부터 0x100만큼 더미값을 먼저 넣어주어야 한다.그리고 나서 page_num이 4일 때 canary + 8에서..

Hack/CTF 2025.08.20

Codegate 2025 Pwnable Review

Secret NoteSecret Noteubuntu 22.04[Vulnerability]이 프로그램은 malloc을 통해 create, edit, delete 총 3가지 행위를 할 수 있는 프로그램이다. 문제는 create함수에서 발생한다. 크기를 할당할 때 큰 범위를 벗어나게 되면 Error를 출력한다. 그런데 chunk에는 정보가 그대로 저장되어서 정상적으로 create를 한 뒤, 범위를 비정상적으로 한번 create를 시도하게 되면 heap overflow가 일어난다. 따라서 청크를 크게 조작한 뒤, free를 통해 unsorted bin에 들어가게 하면 libc leak이 가능해진다. 하지만 이 문제에선 출력하는 기능이 없으므로 stdout을 조작한 뒤, FSOP를 진행하거나 environ을 le..

Hack/CTF 2025.04.04

Codegate 2024 Pwnable Review

gamesayrfm참고:https://github.com/pwning/public-writeup/tree/master/codegate2024exploit code는 참고한 write up 코드 그대로 가져와서 사용했다.Gamesay[Environment]ubuntu 22.04[Vulnerability]이 프로그램은 5개의 머신을 실행시킬 수 있고, 각 머신은 다시 각각의 Thread에서 실행된다. 옵션은 all, add, exit, run, del이 있다. 프로그램은 커스텀 인터프리터로 번역되고 있다. 게임 플레이 방식은 블랙잭과 비슷한 카드게임이다. 2장의 카드를 딜러와 플레이어가 서로 가지며, 카드를 교환할 수 있는데, 최종적으로 두 카드의 합이 더 높은 사람이 이기는 방식의 게임이다. 또한 각 머신..

Hack/CTF 2025.03.24

CodeGate 2023 Pwnable Review

SeaMediocritypcpu참고:https://mem2019.github.io/jekyll/update/2023/06/17/Codegate.htmlhttps://github.com/pwning/public-writeup/blob/master/codegate2023/mediocrity/mediocrity.pyexploit code는 참고한 write up 코드 그대로 가져와서 사용했다.Sea[Environment]ubuntu 22.04[Vulnerability]이 프로그램은 AES 암호화 방식을 사용한 encrypt, decrypt 를 할 수 있는 프로그램이다. 여기에는 OOB, BOF 총 2가지 종류의 취약점이 발생하고 있다. 1. Leak Bases암호화를 진행할때, 암호화된 값이 오버플로가 발생할..

Hack/CTF 2025.03.23

HKCERT CTF 2024 예선 write up

[WEB]WebPage to PDF - 1쿠키값에는 session이라는 이름의 값이 있고, 서버에서도 이를 이용하여 PDF파일을 만들고 있다. 하지만 별다른 검증을 하고 있지 않으므로 Command Injection을 해야할 것 같았다. 일단 더 확인할 것이 없으므로 웹페이지를 제작하고, pdf로 변환해보기로 했다. 이를 토대로 태그를 추가하여 플래그 파일을 읽을 수 있도록 했다. flag의 위치는 도커파일을 통해 확인할 수 있었다.하지만 을 추가하니 에러가 발생했다. 구글에 Blocked access to file을 검색해보니 StackOverflow 사이트에 이에 대한 해답이 있었다. --enable-local-file-access를 명령어 입력시 추가하면 된다고 하는데, 나는 쿠키값을 변조할 수..

Hack/CTF 2024.11.15

ISITDTU CTF 2024 예선 - Write up

PWN - Shellcode1[Understanding]puVar2에 플래그를 저장하고 있다. 그리고 printf함수를 주고 입력을 받는데, bof가 일어나고 있다.  filter함수에서는 seccomp로 orw, execve, sys_mq_open, openat를 검사하고 있다.  따라서 플래그를 가지고 있는 해당 버퍼를 가져온 뒤, writev으로 출력시키면 된다.[Exploit]from pwn import *p = process("./challenge")elf = ELF("./challenge")context(os=elf.os, arch=elf.arch)if elf.arch == 'amd64':    libc_name = '/lib/x86_64-linux-gnu/libc.so.6'elif elf.a..

Hack/CTF 2024.11.03