Continuous free bug (double free bug)
·
Tips & theory
* 서론 솔직히 이건 double free라고 하지말고 continuous free나 heap free unlink bug라던지라고 불러야하는게 맞지 않나? double free는 동일 heap 영역에 대한 free를 이야기해야되는거 아니야? 나만그래...? *원리 - 전제 조건 및 기본 원리 double free bug는 기본적으로 heap overflow를 기본으로 한다. 즉, P flag가 수정 가능해야하기에 heap overflow가 필수적이다. heap 영역은 free 될 때 다음에 사용할 주소를 fd 영역에 저장한다. 더불어 heap 영역이 초기화될 때 heap 영역들 사이에 빈 공간이 있다면 합쳐주며, 이는 unlink 함수를 통해 이루어진다. 이는 heap 영역을 효율적으로 사용하려함에 있..