文章预览
点击蓝字,关注我们 日期:2024-05-16 作者:H4y0 介绍: Linux_io_FILE 基础知识。 0x00 前言 _IO_FILE 利用已成为 CTF 中 PWN 题的常规利用思路,逐渐成为基础知识,本文将介绍 _IO_FILE 的结构及标准 I/O 流相关内容。 0x01 IO_FILE结构 在 libio.h 文件中有如下定义: struct _ IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ # define _IO_file_flags _flags /* The following pointers correspond to the C++ streambuf protocol. */ /* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */ char * _IO_read_ptr; /* Current read pointer */ char * _IO_read_end; /* End of get area. */ char * _IO_read_base; /* Start of putback+get area. */ char * _IO_write_base; /* Start of put area. */ char * _IO_write_ptr; /* Current put pointer. */ char * _IO_write_end; /* End of put area. */ char * _IO_buf_base; /* Start of reserve area. */ char * _IO_bu
………………………………