unsorted bin에 등록된 chunk가 재할당될 때 bin에서 이를 정리하는 과정에서 발생하는데, 이 공격을 통해 우리는 libc의 bins 주소를 획득하거나, 특정 영역에 큰 수를 저장할 수 있다.
unsorted bin attack을 malloc.c 소스코드와 함께 이해하고 싶다면, 아래의 lazenca 사이트를 참조하라
unsorted bin attack[Korean] - TechNote - Lazenca.0x0
Excuse the ads! We need some help to keep our site up. List Unsorted bin attack Unsorted bin attack을 이해하기 위해서는 malloc()이 unsorted bin에 등록된 chunk를 재할당 할때 해당 chunk를 unsorted bin의 list에서 삭제하는 방식
www.lazenca.net
아마 시나리오와 함께 보는 것이 이해를 더 쉽게 도울 것이다.
- Unsorted Chunk를 생성할 수 있어야 함
- Unsorted bin에 등록된 Free Chunk의 값을 변경하고
Free Chunk와 동일한 크기의 Chunk를 요청할 수 있어야 함
정상/공격 시나리오
1. 정상 시나리오
2. 공격 시나리오
해당 공격 시나리오를 확인해보면 fake chunk의 fd 주소 값에
unsorted_chunks(av) 값이 들어가 있는 것을 확인할 수 있다.
만약 우리가 원하는 주소값(fake chunk의 fd)에 어떤 값을 넣고자 한다면,
chunk A의 bk 부분에 "원하는 주소 값 - 0x10"을 넣으면 된다.
Refer. https://rninche01.tistory.com/entry/heap-exploit-Unsorted-bin-Attack
'Systemhacking > Base info' 카테고리의 다른 글
malloc consolidate with Fastbin_Dup Consolidate (1) | 2023.06.04 |
---|---|
small bin attack (0) | 2023.06.04 |
unsafe Unlink in heap (0) | 2022.11.07 |
Fastbin Double Free (0) | 2021.04.04 |
Heap Base (0) | 2021.04.03 |
댓글