unlink
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
unlink 프로세스에 대한 훌륭한 그래픽 설명을 확인하세요:
청크의 표시된 크기가 다음 청크에 표시된 prev_size와 동일한지 확인합니다.
또한 P->fd->bk == P
및 P->bk->fw == P
인지 확인합니다.
청크가 작지 않은 경우, P->fd_nextsize->bk_nextsize == P
및 P->bk_nextsize->fd_nextsize == P
인지 확인합니다.
unlink된 청크는 할당된 주소를 정리하지 않으므로 이를 읽을 수 있는 접근 권한이 있으면 흥미로운 주소를 누출할 수 있습니다:
Libc 누수:
P가 이중 연결 리스트의 머리에 위치하면, bk
는 libc의 malloc_state
를 가리킵니다.
P가 이중 연결 리스트의 끝에 위치하면, fd
는 libc의 malloc_state
를 가리킵니다.
이중 연결 리스트에 하나의 무료 청크만 포함되어 있을 때, P는 이중 연결 리스트에 있으며, fd
와 bk
모두 malloc_state
내부의 주소를 누출할 수 있습니다.
힙 누수:
P가 이중 연결 리스트의 머리에 위치하면, fd
는 힙의 사용 가능한 청크를 가리킵니다.
P가 이중 연결 리스트의 끝에 위치하면, bk
는 힙의 사용 가능한 청크를 가리킵니다.
P가 이중 연결 리스트에 있으면, fd
와 bk
모두 힙의 사용 가능한 청크를 가리킵니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)