Unsorted Bin Attack

Reading time: 1 minute

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기

Basic Information

Unsorted bin이 무엇인지에 대한 더 많은 정보는 이 페이지를 확인하세요:

Bins & Memory Allocations

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 공격은 이제 (다른 체크와 함께) 연결 리스트