1.5 KiB
Unsorted Bin Attack
{{#include ../../banners/hacktricks-training.md}}
Basic Information
Unsorted bin이 무엇인지에 대한 더 많은 정보는 이 페이지를 확인하세요:
{{#ref}} bins-and-memory-allocations.md {{#endref}}
Unsorted 리스트는 chunk의 bk
주소에 unsorted_chunks (av)
의 주소를 쓸 수 있습니다. 따라서 공격자가 unsorted bin 내의 chunk에서 bk
포인터의 주소를 수정할 수 있다면, 그는 그 주소를 임의의 주소에 쓸 수 있게 되어 Glibc 주소를 유출하거나 일부 방어를 우회하는 데 도움이 될 수 있습니다.
기본적으로 이 공격은 임의의 주소에 큰 숫자를 설정할 수 있게 해줍니다. 이 큰 숫자는 주소로, 힙 주소나 Glibc 주소일 수 있습니다. 일반적인 목표는 **global_max_fast
**로, 더 큰 크기의 fast bin을 생성할 수 있게 해줍니다 (unsorted bin 공격에서 fast bin 공격으로 넘어갈 수 있습니다).
Tip
https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/unsorted_bin_attack/#principle에서 제공된 예제를 살펴보면, chunk 크기로 0x400과 0x500 대신 0x4000과 0x5000을 사용하면 (Tcache를 피하기 위해) 현재 오류 **
malloc(): unsorted double linked list corrupted
**가 발생하는 것을 볼 수 있습니다.따라서 이 unsorted bin 공격은 이제 (다른 체크와 함께) 연결 리스트