[pwnable.xyz] fclose
Wargame/pwnable.xyz
Challenge is using libc 2.23AttachmentAnalysisinput에 fake FILE structure를 만들고 fclose()를 호출한다.Exploitation파일 구조체 전체에 임의의 값을 쓸 수 있기 때문에 vtable overwrite 기법을 이용하여 win()이 실행되도록 할 수 있다. 문제에서는 libc 2.23 버전을 사용하고 있어서 vtable check가 존재하지 않는다.fclose()는 내부적으로 _IO_file_jumps+0x10에 있는 _IO_new_file_finish()를 호출하는데, _IO_new_fclose+48부터 _IO_new_fclose+60까지의 코드가 이 과정에 해당한다. 이 코드까지 도달하기 위해서 딱히 필요한 조건은 없는데, _lock ..