文件包含之/proc/self/environ
在一次实践中,发现拥有文件包含漏洞,但是无法getshell
,进而搜索到一个新的方法/proc/self/environ,
通常情况下文件包含可以包含日志文件getshell
,这里新学习一个/proc/self/environ
Linux中/proc/
目录下保存着本机所有进程号,每个进程号为一个目录,其中保存着该进程的相关信息,其中常见的有
cmdline
: 启动当前进程的完整命令exe
: 当前进程可执行文件的完整路径cwd
: 当前进行运行的目录环境fd
: 当前进程打开的文件environ
: 当前进程运行的环境变量
/proc/self
目录
self代表当前进程的意思,例如cat /proc/self/cmdline
,的结果就是cat/proc/self/cmdline
self用于获取当前进程的信息
了解上述信息后,在php
通过cgi
运行的时候,/proc/self/environ
会包含用户请求的信息,例如常见的User-Agent
信息,我们可以通过包含该文件,将User-Agent
修改为PHP代码
就可以实现文件包含
例如:
实验场景为vulhub
中php
的CVE-2012-1823
漏洞场景