이번 시간에는, 동적 메모리 할당과 해제를 하는 부분에서, 32바이트 ~ 1,024바이트 사이에 해당하는 free memory chunk들이 들어가는 tcache에 대해 Double Free 취약점에 대해 살펴봅니다. 메모리를 괴롭혀 보세요. 그것은 매우 좋습니다! Double Free란, 말 그대로 (같은 메모리 영역에 대하여) 두 번 해제하는 것을 말합니다. 그러니까, 이런 식으로 코드를 짜고 돌리면 Double Free Bug가 발생합니다. free(ptr); free(ptr); // what the fuck? 그러나 개발자로써는 다행스럽게, ptmalloc2는 최소한의 보안 장치는 가지고 있기 때문에, double free를 시도할 시, 내부 검사 매커니즘에 의하여 감지하고, free()가 또 시행되기 전에 Aborted(강제 중단) 명령을 내려 운영체제 수준에서 프로그램을 강제 종료하게 만듭니다. // Name: dfb.c // Compile: gcc -o dfb dfb.c...
#C
#더블프리버그
#리스트
#메모리
#버그
#분석
#쉬운이해
#시큐어코딩
#예제
#우회
#더블프리
#구조체
#tcache
#C언어
#df
#double_free
#fastbin
#fd
#free
#malloc
#next
#ptmalloc2
#취약점
원문링크 : tcache에서의 Double Free Bug 이해