로딩
요청 처리 중입니다...

[dreamhack.io] 「uaf_overwrite」 풀이

 [dreamhack.io] 「uaf_overwrite」 풀이

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 # 함수포인터