文件包含proc读取

在文件包含漏洞的情境中,通常会存在非预期的情况,例如 Dreamer_revenge(红明谷杯 2023)、ArkNights(羊城杯 2023)、YamiYami(HDCTF 2023)、MyBox(NSSCTF 2nd)。因此,如果出题人未清空变量,很有可能通过 /proc 实现非预期攻击。

/proc 是一个在 Linux 系统中用于访问内核内部数据结构、获取系统信息以及控制系统行为的虚拟文件系统。它提供了一种通过文件系统的方式查看和操作内核状态的机制。值得注意的是,/proc 是一个伪文件系统,其数据只存在于内存中,而不占用硬盘空间。

以下是一些常用的 /proc 目录下文件和目录:

  1. /proc/self:表示当前进程的目录。通过 /proc/self 可以方便地获取当前进程的信息。
  2. /proc/$pid/:表示进程号为 $pid 的进程目录。例如,/proc/1234/ 对应进程号为 1234 的进程(Docker 容器默认的 PID 为 1)

一些常用的 /proc 文件和目录:

  • /proc/self/cmdline:包含当前进程的完整命令行参数。
  • /proc/self/cwd:是一个符号链接,指向当前进程的当前工作目录。
  • /proc/self/exe:是一个符号链接,指向当前进程的可执行文件。
  • /proc/self/environ:包含当前进程的环境变量。
  • /proc/self/fd/:是一个目录,包含当前进程打开的文件描述符的符号链接列表。

通过读取这些文件,可以获取关于进程的详细信息,方便进行调试和监控。在给定上下文中,对于 Docker 容器,/proc 中的信息可以用于发现容器内部的运行时信息,如进程启动命令、环境变量等

posted @ 2026-06-18 13:01  Doll_Marker  阅读(7)  评论(0)    收藏  举报