一个wp和linux文件描述符及重定向
在做题过程中遇到了好几次重定向,在此简单了解一下。
checksec一下
64位,开启了NX
丢到ida里
看到关闭了标准输出
并且存在栈溢出,又看到了后门函数
exp如下
1 | from pwn import * |
打通
- I/O重定向通常与FD有关,shell的FD通常为10个,即0~9
- 三个常用FD(默认与keyboard、monitor、monitor有关)
FD | 说明 |
---|---|
0 | stdin,标准输入 |
1 | stdout,标准输出 |
2 | stderr,标准错误输出 |
0是标准输入,1是标准输出,2是标准错误。如果此时再打开一个新的文件,它的文件描述符就是3。
用 < 来改变读进的数据信道(stdin),使之从指定的档案读进
用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案
我们可以修改文件描述符的指向,也就是重定向,例如:exec 1>myputout,而exp中的exec 1>&0,将标准输出重定位到标准输入上,这样就相当于重新启动了标准输出。
参考文章:https://xstarcd.github.io/wiki/shell/exec_redirect.html