Heap Spray 공격 이해 II (실습)


Heap Spray 공격 이해 II (실습)

미리 알아둘 것 <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 (실습)