
手法原因:没有show函数。攻击思路:修改_IO_2_1_stdout_:
将_flags位修改为0xfbad1800
将_IO_write_base末尾字节修改为\x00
中间的变量_IO_read_ptr _IO_read_end _IO_read_base直接填充为0
p64(0xfbad1800)+p64(0)*3+'\x00'
后续程序在调用puts函数时,就会泄露出存在libc中的地址,我们找到对应的偏移就能得到libc基址。
例子题目地址: noleak 提取码: Ya0a
漏洞
strlen长度计算错误,造成堆溢出
构造堆块重叠
没有show
攻击_IO_2_1_stdout_泄露libc基址
思路
爆破攻击_IO_2_1_stdout_泄露libc基址
修改__malloc_hook为one_gadget
函数分析
expfrom pwn import *from pwn import p64,u64,p32,u32,p8from LibcSearcher import *context.terminal = ["tmux&qu ...