mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
21 lines
1.5 KiB
Markdown
21 lines
1.5 KiB
Markdown
# 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](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 공격은 이제 (다른 체크와 함께) 연결 리스트
|