【IO_FILE】源码详解-part2 在上一篇文章中,主要对IO_FILE结构体相关以及fopen函数进行了深入的介绍。本文将继续从glibc2.36源码出发,介绍fread函数相关内容 2022-12-07
【IO_FILE】源码详解 由于glibc版本的不断更新,常见几种hook在glibc2.34终被舍去,我们急需一种能够在高版本的glibc下仍能有效的getshell方法。而IO_FILE作为heap题目的进阶技能逐渐引起大家注意,吸引了许多大佬投入其中。仅在2021-2022年期间就出现出现了大量以IO_FILE为基础的调用链利用方式,在比赛中也逐渐成为了当下heap题目的主流getshell方式。本文以glibc2.3 2022-11-29
【IO_FILE】FSOP FSOP 的核心思想就是劫持_IO_list_all 的值来伪造链表和其中的_IO_FILE 项,但是单纯的伪造只是构造了数据还需要某种方法进行触发。FSOP 选择的触发方法是调用_IO_flush_all_lockp,这个函数会刷新_IO_list_all 链表中所有项的文件流,相当于对每个 FILE 调用 fflush,也对应着会调用_IO_FILE_plus.vtable 中的_IO_ove 2022-11-25
【IO_FILE】house of cat House of Cat利用了House of emma的虚表偏移修改思想,通过修改虚表指针的偏移,避免了对需要绕过TLS上 _pointer_chk_guard的检测相关的IO函数的调用,转而调用_IO_wfile_jumps中的_IO_wfile_seekoff函数,然后进入到_IO_switch_to_wget_mode函数中来攻击,从而使得攻击条件和利用变得更为简单。并且house of 2022-11-13