대기중
Large Bin Attack 질문
add(0x320) # 0 => smallbin(unsortedbin)
add(0x100) # 1 => no merge
add(0x400) # 2 => largebin
add(0x100) # 3 => no merge
add(0x410) # 4 => largebin(unsortedbin)
add(0x100) # 5 => no merge
- Large Bin Attack에서 사용될 힙 청크들을 할당한다.
free(0) # unsortedbin -> 0
free(2) # unsortedbin -> 0 -> 2
smallbin
크기의 청크와 첫 번째large bin
크기의 청크를 해제하였다.- 그 결과
unsorted bin
에 0번과 2번 청크가 들어갔다.
add(0x100) # unsortedbin -> 0, largebin -> 2
free(4) # unsortedbin -> 0 -> 4, largebin -> 2
- 0x100만큼 추가 할당이 하여
unsortedbin
에 들어가 있는 0번 청크에서 0x100 크기의 메모리가 할당되고 나머지가unsorted bin
에 남게 된다.
질문
add(0x100)
- unsortedbin 에 들어가 있던 0 번 청크(0x320 - smallbin) 에서 0x100 크기만 할당하고 나머지 값이 남게되면
unsorted bin
,last_remainder
에 저장되는 건가요?
#시스템해킹
작성자 정보
답변
0