CTF | IO_FILE 相关利用
IO FILE 利用 seethefile 分析程序 首先看程序 openfile:读取 长度为63 filename,打开文件,这里有溢出,因为 filename 大小为 40,但是不能覆盖到fp writefile:输出文件 magicbuf,通过这个应该能泄露地址,首先要把内容写道magicbuf readfile:从文件中读取内容到 0x18 长度 closefile: 这里会调用 fclose 函数,可以用来触发 exit : 这里 name 有溢出。可以覆盖到fp,使之指向我们伪造的fp,在调用fcolse时调用system("bin/sh") bss data laylout .bss:0804B080 filename db 40h dup(?) ; DATA XREF: openfile+53↑o .bss:0804B080 ; openfile+6D↑o ... .bss:0804B0C0 public magicbuf .bss:0804B0C0 ; char magicbuf[416] .bss:0804B0C0 magicbuf db 1A0h dup(?) ; DATA XREF: openfile+33↑o .bss:0804B0C0 ; readfile+17↑o ... .bss:0804B260 public name .bss:0804B260 ; char name[32] ....