ptmalloc2의 chunk overlapping 공격 실습


ptmalloc2의 chunk overlapping 공격 실습

미리 알아둘 것 ptmalloc2 chunk의 기본적인 구조나 동작 과정에 대한 이해 (실습 환경: Ubuntu 16. 04.) 이번에는 ptmalloc2에 대한 공격의 하나인 chunk overlapping attack에 대해 간단하게 GDB(GNU Debugger)를 통해 알아봅니다. "미리 알아둘 것" 항목에서 밝혀놨듯이, ptmalloc2의 chunk들을 보면 이게 현재 malloc() 등으로 할당이 되어서 사용 중이던 아니면 free()가 되어 bin에 들어가 있던 대략적으로 보면 아래와 같은 구조를 유지합니다. 그 중 이번에 눈여겨 볼 부분은 바로 "chunk size + (flag)", 즉 chunk의 크기를 정의하는 부분입니다. chunk(user) data 영역의 경우, free chunk에게는 fd(forward pointer)와 bk(backward pointer)가 추가로 더 순서대로 8바이트만큼 들어간 다음 비로소 user data 항목이 나옵니다. 위의 ch...


#allocated #overlapping #ptmalloc2 #관리 #동적할당 #메모리 #시스템보안 #시스템해킹 #실습 #memory #heap_overflow #heap_exploitation #Assembly #C #chunk #chunk_overlapping #Clang #free #GDB #heap #예제

원문링크 : ptmalloc2의 chunk overlapping 공격 실습