문제를 ida로 디스어셈을 봤을 때 구조는 단순하다. malloc을 해주고 free를 해주게 된다. 이 문제를 익스 플로잇하는 방법은 간단하다. 1. fastbin 크기로 malloc (순서 조심) - libc leak 2. stdin _IO_buf_base 수정 3. 다시 stdin _IO_buf_base 수정 4. one_gadget 또는 system 주소 입력 첫번째로 fastbin 크기로 작은것 1개 그것보다 큰 크기로 1개를 할당한뒤 다시 한번 할당을 하면 libc leak이 이루어지게 되는데 그 이유는 malloc_consolidate라는 함수 때문이다. 코드로 나타내면 이렇게 되는데 ### libc leak malloc(24,'a' *24) malloc(50, 'a') malloc(200, ..