double free bug(2)
-
[8] Use After Free / Double Free Bug
https://bpsecblog.wordpress.com/2016/10/06/heap_vuln/ 해당 블로그를 참고하였고, 해당 내용은 공부하기 편하도록 단지 정리만 해놓은 문서입니다.Heap영역은 컴파일러가 예측할 수 없는 프로그래머가 관리하는 영역입니다동적할당으로 인해 컴파일 시기에 크기를 알 수 없는 데이터를 관리합니다이전 Heap게시글에서는 Heap Overflow 를 공부했고, 이번에는 UAF와 DFB에 대해 알아보겠습니다 [ UAF ] ( Use After Free )말그대로 free가 일어난 후에 발생하는 현상입니다ex1.heap.c #include #include int main(){ int *heap1; int *heap2; int *heap3; heap1 = (int*)malloc(25..
2017.06.16 -
Protostar Heap3 [ Double Free Bug ]
참고한 사이트 : https://bpsecblog.wordpress.com/2016/10/06/heap_vuln/ Protostar 3번 문제입니다. 더블프리버그(DFB)에 관한 문제입니다[ 그림1 ]해당 프로세스는 변수 a,b,c 가 32byte만큼 메모리가 동적할당 된 후 인자들을 입력받은 다음 반환되는 흐름입니다우선 힙 구조를 살펴 보면 다음과 같습니다 [ 높은 주소 ] Stack 빈 공간 c ( 32byte ) b ( 32byte ) a ( 32byte ) [ 낮은 주소 ] 낮은주소에서 높은주소의 방향으로 해당 그림과 같이 a,b,c가 위치하고 있습니다free(c), free(b), free(a) 과정의 아래의 그림들을 살펴보면서 설명하겠습니다 $gdb file heap3(gdb) breab *a..
2017.06.14