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
#
해설