일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- UAF
- heap exploit
- H4CKING GAME
- shellcode
- K-shield Junior
- seccomp
- malware
- DFC 2022
- RTL
- _IO_FILE
- Dynamic Analysis
- Android
- srop
- BOF
- vtable
- heap
- heap feng shui
- DreamHack
- __environ
- Lazenca
- GOT overwrite
- _IO_FILE Arbitrary Address Read
- tcache
- DFB
- ROP
- master canary
- HackCTF
- _IO_FILE Arbitrary Address Write
- 나뭇잎 책
- Reversing
Archives
- Today
- Total
Studying Security
[Heap Exploit] Use-After-Free(UAF) 본문
728x90
반응형
메모리를 효율적 관리를 위해
해제된 chunk 중 요청된 메모리와 비슷하거나 같은 크기의 chunk가 존재한다면 이를 이용해 할당해주는 방식을 이용
Use-After-Free란?
해제된 chunk를 할당해주는 과정에 있어서 메모리의 데이터들을 초기화하지 않는다는 점을 이용해
메모리에 남아있던 데이터가 유출되거나 사용될 수 있기 때문에 발생하는 취약점
새로운 할당 요청이 들어왔을 때 요청된 크기와 비슷한 chunk가 bin(fastbin, smallbin, largebin, unsortedbin)이나 tcache에 있는지 확인해 있다면 해당 chunk를 꺼내어 재사용합니다.
이를 이용해 초기화되지 않은 메모리의 값을 읽어내거나 새로운 객체가 악의적인 값을 사용하게 유도할 수 있습니다.
위의 파일을 gdb를 이용해 살펴보면
p1의 경우 0x4052a0에 할당되어 있는 것을 확인할 수 있습니다.
이제 p1이 해제되고 p3가 어디에 할당되는지 확인해보자
p1이 할당되었던 0x4052a0에 p3가 할당되어 있습니다.
- 할당 요청된 크기와 같은 크기의 chunk가 free된 chunk에 존재하면 해당 영역을 할당해준다.
반응형
'개념 정리 > Heap' 카테고리의 다른 글
[Heap Exploit] Double Free Bug(DFB) (0) | 2022.04.22 |
---|---|
[glibc] malloc 정리4 - tcache (0) | 2022.04.21 |
[glibc] malloc 정리3 - arena (0) | 2022.04.20 |
[glibc] malloc 정리2 - bin (0) | 2022.04.20 |
[glibc] malloc 정리 (0) | 2022.04.19 |
Comments