사실 이전 블로그에 이미 등장했지만 어쩌다보니 순서가 이렇게 되었다.
공격조건
임의의 주소 참조 가능, 혹은 임의의 주소에 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이 존재하기 때문에 똑같이 적용할 수 있다.
예제는 이전 블로그들을 참고하자.
<틀린 부분이 있다면 비난과 욕설을 해주세요>
'포너블 > Heap' 카테고리의 다른 글
Tcache House of Spirit (0) | 2024.12.10 |
---|---|
breaking calloc (0) | 2024.10.12 |
Heap Feng Shui (0) | 2024.04.29 |
Tcache dup & poisoning (0) | 2023.12.04 |
House of Force (1) | 2023.12.04 |