重新打开stdin EOFerror

时间:2019-01-09 03:44:39

标签: c linux system

我是可伪造的新手,有一个问题。

此elf在main()函数返回之前关闭stdout,stdin,stderr。

然后我再次致电open("/dev/tty",2)三遍。

stdout运行良好,但是当我将EIP更改为main()并尝试输入时,此过程出现EOF错误。

所以我不能输入任何东西来利用它。

就stdout而言,我泄漏了libc基础并在libc中获得了system()地址,即“ / bin / sh”地址。

所以我试图通过EIP控制重新启动main并执行system(“ / bin / sh”)。

我需要知道如何使用下面的函数重新打开已关闭的stdin。

puts,setbuf,strchr,lseek,close,read,fgets,open,atoi

帮帮我!

0 个答案:

没有答案