type
Post
status
Published
date
Aug 1, 2026
slug
summary
tags
pwn
category
pwn学习
icon
password

知识点
file description:文件描述
可以把linux系统打开的许多个文件排列成一个数组
可以把文件描述符理解为这个数组的下标index
fd=0 代表标准输入 -> read(0, buf, 32) 通过标准输入得到buf
fd=1 代表标准输出 -> write(1, "hello\n", 6) 标准输出
fd=2 代表标准错误 -> write(2, "error\n", 6) 标准错误输出
fd=3 往后的fd都是打开文件的代号,如系统打开一个data.txt, 其fd=3,read(3, buf, 32)就会从data文件里读取buf
.
.
.
题目分析
下面的命令可将文件下载到本地的当前文件夹
看源码:

注意read函数,我们需要构造fd=0,通过标准输入赋值buf为目标字符串LETMEWIN\n
连接靶机,然后输入payload:
注意:
- atoi只识别十进制字符串,转为十进制整数
echo是 Shell 中用于把文本输出到标准输出(fd 1)的命令
- Shell 创建管道,把
echo的fd 1接到./fd的fd 0
漏洞利用

Mama! Now_I_understand_what_file_descriptors_are!
- 作者:purasa
- 链接:https://notion-next-inky-theta-22.vercel.app//article/3af19bc4-8f67-8041-af0a-f80fbb7f6e67
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。


