분류 전체보기

    TAMUctf 2023 - Inspector Gadget

    1. intro 2. code 및 분석 2.1. code ssize_t pwnme() { char buf[16]; // [rsp+0h] [rbp-10h] BYREF puts("pwn me"); return read(0, buf, 0x60uLL); } 2.2. 분석 main 함수는 pwnme 함수를 불러오는 역할만 하기에 패스. 16바이트 버퍼에 0x60 바이트를 입력 받기 때문에 오버플로우가 발생한다. 3. 취약점 확인 및 공격 준비 3.1. 취약점 단순 오버플로우 3.2. 공격 준비 문제 파일과 함께 libc 파일도 주어지기 때문에 pwnme 함수 종료 시 onegadget으로 return 해주었다. 다만, 한번만 입력할 수 있으며, libc 영역 leak이 필요하기 때문에 페이로드 초기에는 leak ..

    TAMUctf 2023 - Sea Shells

    1. intro 2. code 및 분석 2.1. code #include #include int check(unsigned long n, unsigned long sold) { if ((n & 0xffff) == (sold & 0xffff)) { return 1; } return 0; } void vuln() { unsigned long num_sold; char resp; unsigned long a; unsigned long b; unsigned long c; unsigned long d; num_sold = rand(); printf("It's not that easy though, enter 4 numbers to use to guess!\n"); do { // ask user for input ..

    TAMUctf 2023 - Unlucky

    1. intro 2. code 및 분석 2.1. code #include #include int main() { setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0); static int seed = 69; srand(&seed); printf("Here's a lucky number: %p\n", &main); int lol = 1; int input = 0; for (int i = 1; i

    Stop before stops!

    보호되어 있는 글입니다.

    4월 말에 쓰는 일기.

    자체평가 : ★★☆☆☆ 은근 공부도 하고 문제도 풀고 했지만, 4월 중순부터 말은 문제 제작에 집중했다. 2주 간 만든 문제가 총 3개. 그 중 하나는 내일 / 다른 하나는 5월에, 나머지 하나는 크리스마스 CTF 또는 12월에 공개하려 한다. 한두달에 하나 정도는 출제해봐야지. 문제를 만들 때 목표 난이도를 3~4 정도로 잡고 있다. 즉, 누구나 조금만 고민하면 풀 수 있는 문제로, 참여자의 약 60~70% 정도는 풀 수 있는 문제라는 뜻이다. 문제를 제출하는 플랫폼이 드림핵이다보니 여기서는 문제를 푼 사람이 난이도를 투표할 수 있게되고, 지금까지 출제한 문제 2개가 모두 2~3레벨 근방으로 투표되고 있는데, 문제에 도전한 사람 대비 푼 사람의 비율을 보면 약 13~25%다. 아무래도 첫 투표자의 난이..

    Dreamhack CTF Season 3 Round #2 (🌱Div2) - baby-linux

    보호되어 있는 글입니다.

    Dreamhack CTF Season 3 Round #2 (🌱Div2) - awesome-basics

    보호되어 있는 글입니다.

    Dreamhack CTF Season 3 Round #2 (🌱Div2) - ex-reg-ex

    보호되어 있는 글입니다.

    24@CTF '23 - loop

    1. intro 세컨드 블러드으으으으으!!! 2. code 및 분석 2.1. code 0000000000401000 : 401000: bf 01 00 00 00 mov $0x1,%edi 401005: 48 be 00 20 40 00 00 movabs $0x402000,%rsi 40100c: 00 00 00 40100f: ba 37 00 00 00 mov $0x37,%edx 401014: b8 01 00 00 00 mov $0x1,%eax 401019: 0f 05 syscall 40101b: 48 31 c0 xor %rax,%rax 40101e: 48 c7 c3 ff ff ff ff mov $0xffffffffffffffff,%rbx 401025: e8 21 00 00 00 call 40104b 40102..