Heap 썸네일형 리스트형 [Dice CTF 2021] flippidy Binary 분석 Canary, NX가 설정되어있고, Full RELRO가 되어있다. Full RELRO이므로, GOT 영역을 쓸 수 없다. 다른 글들을 참고해보면 여러 방법이 있지만 __malloc_hook이나 __free_hook의 주소를 덮어서 공격을 했다. 프로그램을 실행하면, notebook의 크기를 입력받고 2가지의 기능을 선택할 수 있다. "add notebook", "flip notebook"이다. IDA로 각 기능을 분석하겠다. main 함수에서 notebook의 크기(=note_size)를 입력받았고, 해당 크기에 맞게 malloc( ) 함수를 통해 heap_addr를 저장한다. v1에 heap_addr + 8 * idx 값을 저장하고, 해당 주소에 0x30 만큼 동적 할당한다. 생성된.. 더보기 이전 1 다음