해제된 청크 덮어쓰기

Reading time: 2 minutes

tip

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

HackTricks 지원하기

제안된 여러 힙 익스플로잇 기술은 해제된 청크 내부의 포인터를 덮어쓸 수 있어야 합니다. 이 페이지의 목표는 이러한 접근을 허용할 수 있는 잠재적 취약점을 요약하는 것입니다:

간단한 사용 후 해제

공격자가 해제된 청크에 정보를 쓸 수 있다면, 필요한 포인터를 덮어쓰는 데 이를 악용할 수 있습니다.

이중 해제

공격자가 같은 청크를 두 번 free할 수 있다면 (사이사이에 다른 청크를 해제할 수 있음) 그리고 같은 빈에 두 번 존재하게 만들 수 있다면, 사용자가 청크를 나중에 할당하고, 필요한 포인터를 쓴 다음 다시 할당하여 청크가 할당되는 동작을 유발할 수 있습니다 (예: 패스트 빈 공격, tcache 공격...)

힙 오버플로우

해제된 청크 다음에 할당된 청크를 오버플로우하여 그 일부 헤더/포인터를 수정할 수 있을지도 모릅니다.

오프 바이 원 오버플로우

이 경우 메모리에서 다음 청크의 크기를 수정할 수 있습니다. 공격자는 이를 악용하여 할당된 청크의 크기를 더 크게 만들고, 그 다음 **free**하여 청크가 다른 크기(더 큰)의 빈에 추가되게 한 다음 가짜 크기를 할당하면 공격자는 실제보다 더 큰 크기의 청크에 접근할 수 있게 되어, 따라서 겹치는 청크 상황을 허용하게 되며, 이는 힙 오버플로우와 같은 방식으로 악용될 수 있습니다 (이전 섹션 참조).

tip

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

HackTricks 지원하기