Dreamhack 난이도 이름 uaf_overwrite 미리 알아둘 것 동적 메모리 할당과 ptmalloc2 이해 UAF(Use After Free) 취약점에 대한 이해 이번에는 UAF(Use After Free) 취약점을 이용하여 셸을 탈취하는 문제인 를 풀어봅니다. 문제에서 주어진 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
#
함수포인터