Heap

[ 13 ] Using Calloc Exploit
22. 07. 08 calloc vulnerbility 가 아닌 calloc flow를 이용한 exploit입니다 glibc-2.27#1. 문제 살펴보기 seccomp 에 관한 정리글[ 여기다가 링크 넣자 ! ] #2. 문제 분석하기 이 문제는 strtok 함수의 취약점과 Tcache DFB, Calloc 함수의 복귀 원리를 이용하여 Tcahce DFB : https://sf-jam.tistory.com/12?category=822170strtok vulnerability : https://sf-jam.tistory.com/71?category=822170calloc flow : https://sf-jam.tistory.com/70 orw를 통해 flag 값을 읽어오는 문제이다. 위의 ..

Tcache_Duplicate
*** tcache 를 통해 heap이 관리되는 버전인 glibc-2.27 ↑(Ubuntu 18.04↑) 을 기준으로 작성되었습니다 *** Tcache는 heap을 처리하는데 들어가는 시간을 줄이기 위해 만들어졌다. 이전 버전 glibc의 fastbin 동작원리와 비슷하다. #include #include int main() { fprintf(stderr, "This file demonstrates a simple double-free attack with tcache.\n"); fprintf(stderr, "Allocating buffer.\n"); int *a = malloc(8); fprintf(stderr, "malloc(8): %p\n", a); fprintf(stderr, "Freeing tw..

Unsafe_Unlink
https://github.com/shellphish/how2heap/blob/master/glibc_2.26/unsafe_unlink.c # 시작하기 전에 unsafe_unlink는 unlink의 취약점을 통해서 사용자가 원하는 장소에 원하는 값을 적을 수 있다.이부분에 대해서 공부할 때 heap의 unlink 에 대해서 알고가면 이해하는데 도움이 된다. unlink : heap과 heap의 연결리스트를 끊다. (논리적 연결고리를 해제한다.) ex) A B C => A C unlink 는 free를 할 때 인접한 chunk들이 함께 병합될때 호출되는 매크로이다. /* Take a chunk off a bin list */#define unlink(AV, P, BK, FD) { ..