목록Pwnable/Heap (8)
뇌
보호되어 있는 글입니다.

[ 메모리 보호기법 ] [ source code ] # Alloc() 함수 - 크기별로 힙에 동적 할당을 하는 함수 - 한 케이스는 하나만 사용 가능 - 최대 3개까지 만들 수 있음 - opt 입력 받을 때 1byte Overflow 발생 int_input() 함수의 두번째 인자로 5를 주어 1byte Overflow를 발생시킬 수 있음 할당 돼있는지 확인하는 check_2를 변조시킬 수 있음 # Free() 함수 - Alloc() 함수로 할당한 청크를 free 하는 함수 - check_flag 때문에 double free 불가능 # Write_() 함수 - Alloc() 함수로 할당한 청크에 문자열 입력하는 함수 - 마찬가지로 check_flag 때문에 UAF 불가능 # Print_() 함수 - All..

[ 메모리 보호기법 ] [ source code ] #1 Alloc() 원하는 사이즈로 malloc 하고, 반환받은 주소를 chunklist에 저장 #2 Write() chunklist에서 원하는 힙 주소를 골라 원하는 사이즈만큼 쓰기 가능 → Heap overflow #3 Free() chunklist에서 원하는 힙 주소를 골라 free 후 배열값 초기화 → uaf X, double free X #4 len_check() 문자열 길이를 체크하는 함수인데 왜 있는 건지 모르겠음 [ 공격 루틴 ] 0. 2번의 Heap overflow를 이용해 Unsafe unlink ~ 1. fastbin이 아닌 힙 청크 두개 생성 2. 첫번째 힙 청크에 fake 청크를 만듦 2.1. fake 청크의 fd를 chunkli..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.