Dreamhack 난이도 이름 Bypass IO_validate_vtable 개인적으로는 이해하는데 많이 힘들고 어려웠습니다. 지금도 힘들지만요. 미리 알아둘 것 _IO_FILE 구조 이해 (한 3일만에 들어오는 것 같네요. 포럼 참석하고 극악 난이도를 자랑하는 트러블슈팅을 하다가 지쳐 나가떨어져서 블로그에 물주는것도 공부하는것도 새까맣게 까먹고 있었습니다.) 이번에는 리눅스 파일 시스템의 _IO_FILE 에서 파일 관련 함수가 호출될 때 vtable을 호출합니다. 이 vtable에는 데이터를 어디서부터 어디까지 읽어서 처리할지에 대한 정보가 담겨 있기 때문에, 이 vtable에 직접 접근하여 임의로 쓰기를 한다면 이상한 다른 접근 불가능해야 할 파일의 내용을 읽거나, 거기에 뭔가를 쓰는 작업을 할 수 있습니다. (Arbitrary Address Read/Write) 따라서 대략 glibc 2.27. 버전 이후부터는 IO_validate_vtable() 함수를 통해 이 vtable에...
#_IO_FILE
#풀이
#파일구조체
#워게임
#쉽지는않음
#writeup
#wargame
#GDB
#FSOP
#fopen
#fclose
#C
#Bypass_IO_validate_vtable
#해설
원문링크 : [dreamhack.io] 「Bypass IO_validate_vtable」 풀이