
_IO_FILE _IO_FILE이란, fopen 등의 함수를 통해서 반환하는 함수 포인터가 가리키는 구조체를 말한다. 예를 들어 우리는 파일을 열 때 아래와 같은 코드를 사용했다. FILE *fp=fopen("./test.txt",'r') 이때 fopen을 통해 반환되는 포인터가 _IO_FILE 구조체 포인터가 되는 것이다. /* The opaque type of streams. This is the definition used elsewhere. */ typedef struct _IO_FILE FILE; _IO_FILE 구조체가 FILE로 쓰이는 것을 알 수 있다. _IO_FILE이란 구조체는 파일의 정보를 담고 있는 구조체이다. fopen을 통해서 파일을 여므로 이때 파일의 정보를 담고 있는 구조체가..

문제 설명 Return Address Overwrite를 통해 BOF를 이끌어내서 해킹하는 문제이다. 문제 정보에 보면 NX 비트나 canary 등 보안 기법은 설정되어있지 않다는 것을 볼 수 있다. 그리고 Arch를 보니 i386-32-little 이므로 32bit 기준으로 쉘 코드를 작성해주면 된다. 주어진 코드 분석 #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { //초기화 setvbuf(stdin, NULL, _IONBF, 0); //stdin 버퍼 사용x setvbuf(stdout, NULL, _IONBF, 0); //stdout 버퍼 사용x sign..