stderr

  • 在打IO攻击的时候经常需要用到malloc_assert,要打stderr,这里区分一下几个概念 1.直接打_IO_2_1_stderr_ 如果可以任意地址写,可以直接将_IO_2_1_stderr_修改,将其vtable修改为IO_xxx_jumps,但是一般不会有这么理想的情况 2.修改stderr的指向
  • elf文件中bss段上的stderr
  • libc中got表中的stderr
  • libc中.data位置的stderr 可以看到很多地方都存的有_IO_2_1_stderr_,但是IO攻击中实际要修改的是elf文件的bss段的stderr,如果elf文件的bss段没有stderr,此时修改libc的.data区域才有用

具体原理