미리 알아둘 것 <Heap Spray 공격 이해 I> C++ 코드를 대충 이해할 수 있는 수준 UAF(Use-After-Free) 취약점에 대한 이해 one gadget(또는 one-shot gadget)에 대해 알고 있어야 함 실습환경: Ubuntu 16.04. (저는 WSL에서 환경 구축), 64-Bit, glibc 2.23. (실행착오를 한 결과 이상적으로 실습이 되더군요. 이번에는 이전에 작성한 <Heap Spray 공격 이해 I>에 이해 두번째로 조금 더 복잡한 예제를 통해 다시 한번 살펴보는 시간을 가져보겠습니다. 이번에 살펴볼 취약한 코드는 Heap Spray 취약점과 UAF(Use-After-Free) 취약점이 동시에 발생하여 이로 인해 shell이 탈취될 수 있는 예제로, 그 코드는 아래와 같습니다. g++ 컴파일러로 컴파일 해 줍니다. //g++ -o heapspray heapspray.cpp -ldl #include <stdlib.h> #include <stdio...
#CPP
#VTable
#가상함수
#객체지향
#디버깅
#메모리
#원가젯
#취약점
#클래스
#해킹
#힙
#UAF
#sigsegv
#exploitation
#GDB
#GPP
#heap
#heap_spraying
#힙스프레이
#one_gadget
#ptmalloc2
#pwntool
#python3
#사진
#실습
#segmentation_fault
#설명
원문링크 : Heap Spray 공격 이해 II (실습)