포너블/Heap
__malloc_hook overwrite
사실 이전 블로그에 이미 등장했지만 어쩌다보니 순서가 이렇게 되었다.공격조건임의의 주소 참조 가능, 혹은 임의의 주소에 fake chunk 만들기 가능, 2.34 부터 hook 없어짐 __malloc_hook overwrite란?__libc_malloc에는 hook 함수 포인터가 존재하는데 이는 malloc함수가 시작할 때 실행할 함수의 주소를 가진다. 일반적으로는 null이며 인자값으로는 malloc함수의 인자값을 그대로 사용한다. 그래서 이것을 one_gadget으로 overwrite하고 malloc을 호출하거나 hook을 system함수로 overwrite 하고 malloc(”/bin/sh”의 주소)를 실행하면 셸을 획득할 수 있다.free에도 free_hook이 존재하기 때문에 똑같이 적용할 수 ..