文章预览
本文参考的是Arahat0师傅( https://passport.kanxue.com/user-center-964693.htm )的脚本,这里主要介绍一下vctf apple的house of apple部分的思路。与常规的house of apple不同,这里将_wide_data指向劫持的FILE结构体加减偏移,来让脚本更加可以移植,最后实现栈迁移打ROP链的操作。 前情提要:要结合上一篇文章:vctf apples leak libc操作复现( https://bbs.kanxue.com/thread-281083.htm )来观看。在上一篇文章中我们通过较为复杂的overlapping实现了heap和libc的泄露,接下来我们通过劫持结构体来实现一次House of apple2的变形。 条件 ◆泄露libc地址和堆地址 ◆能劫持 stdout 结构体实现对 stdout 结构体的覆写 ◆能触发puts函数 属性的偏移 0x0:'_flags', 0x8:'_IO_read_ptr', 0x10:'_IO_read_end', 0x18:'_IO_read_base', 0x20:'_IO_write_base', 0x28:'_IO_write_ptr', 0x30:'_IO_write_end', 0x38:'_IO_buf_base', 0x40:'_IO_buf_end', 0x48:'_IO_save_base', 0x
………………………………