Dreamhack 난이도 이름 uaf_overwrite 미리 알아둘 것 동적 메모리 할당과 ptmalloc2 이해 UAF(Use After Free) 취약점에 대한 이해 이번에는 UAF(Use After Free) 취약점을 이용하여 셸을 탈취하는 문제인 <uaf>를 풀어봅니다. 문제에서 주어진 C언어 소스코드는 아래와 같습니다. 우선 gcc 컴파일러 옵션을 보니 기본으로 되어 있는 것을 보니 Full RELRO와 PIE, Stack Canary 등 기본적인 메모리 보안 메서드는 모두 활성화 된 것을 볼 수 있습니다. 문제 이름도 이름인만큼, Return Address Overflow같은 날로 먹는다 수준은 아니겠죠? 실습 환경은 Safe linking 기법이 적용되기 이전의 예전 버전 glibc를 사용하기 이전의 Ubuntu 18입니다. // Name: uaf_overwrite.c // Compile: gcc -o uaf_overwrite uaf_overwrite.c #include...
#C
#wargame
#ㄱ
#구조체
#동적할당
#메모리
#어셈블리
#오버플로우
#워게임
#취약점
#포인터
#풀이
#unsorted_bin
#uaf_overwrite
#UAF
#chunk
#Clang
#dreamhack
#GDB
#leak
#libc
#library
#one_gadget
#overwrite
#ptmalloc2
#tcache
#함수포인터
원문링크 : [dreamhack.io] 「uaf_overwrite」 풀이