분류 전체보기

    [Dreamhack][CTF Season 6] Mili write-up

    보호되어 있는 글입니다.

    [Linux Kernel Exploit] Slab Allocator & msg_msg Struct

    [Linux Kernel Exploit] Slab Allocator & msg_msg Struct

    1. 개요리눅스 커널 익스플로잇을 공부하다 보면 힙 스프레이 라는 개념이 등장합니다. 스프레이는 직역하면 무언가를 뿌리는 것 인데요. 익스플로잇 관점으로 다시 해석하면 무언가를 뿌리는데 힙 영역에 객체를 뿌리는 것 입니다. 스프레이가 필요한 이유는 리눅스 커널의 randomized free list 때문인데요. 이번 글에선 힙 스프레이에 자주 사용되는 msg_msg 구조체의 구조에 대해 간략히 알아보도록 하겠습니다. 2. Slab Allocatormsg_msg 구조체에 대해 알아보기에 앞서 리눅스 커널의 할당자(Allocator)에 대해 알아보겠습니다. 현재 리눅스 커널은 Slab Allocator를 사용하며 유저 영역의 힙과는 다르게 동작합니다. 구조를 보면 크게 cache라는 덩어리 안에 slab이 ..

    [pwn.college] Kernel Exploitation write-up

    보호되어 있는 글입니다.

    [pwnable.tw] calc write-up

    [pwnable.tw] calc write-up

    시간 제한이 걸려있는 계산기다.편의를 위해 변수 이름을 바꾸고 구조체를 만들었다.00000000 pool_st struc ; (sizeof=0x194, mappedto_16)00000000 ; XREF: calc/r00000000 pool_idx dd ? ; XREF: calc+7D/r00000004 buf dd 100 dup(?) ; XREF: calc+86/r00000194 pool_st ends00000194메인 함수는 계산기 함수 calc를 호출해준다.int __cdecl main(int argc, const ch..