pwnable.xyz / nin
복잡해 보이지만 쉬운 UAF 문제다. 우선 다음과 같은 구조체를 정의한다. name은 이름을 가리키는 포인터를 나타내고, answer_func는 함수 포인터이다. obj_chat = NULL; while ( 1 ) { memset(buf, 0, 0xFFuLL); printf("@you> "); read(0, buf, 0xFFuLL); buf_copy = strdup(buf); if ( !obj_chat ) obj_chat = invite_reznor(); obj_chat->answer_func(obj_chat, buf); free(buf_copy); } do_chat 함수는 이렇게 생겼다. answer_func 함수 포인터를 사용하는 부분이 눈에 걸린다. obj_chat가 0이면 invite_reznor..