符号链接突破目录限制
源码如下
1 |
|
在 PHP 中,require_once
和 include_once
在调用时PHP 会先检查一个内部的记录结构(可近似理解为哈希表,存储已包含文件的路径信息),看要包含的文件路径是否已经存在于其中。如果存在,就不再重复执行包含操作;如果不存在,才会将文件内容包含进来,并把该文件的路径记录到这个结构中
小知识点
/proc/self
:在 Linux 系统中,/proc 是一个虚拟文件系统,存储着当前系统运行进程的相关信息,/proc/self是一个特殊的符号链接,它会动态指向当前正在执行进程对应的 /proc/
下的具体进程目录(目录名是进程 ID,即 /proc/pid/
)。例如,若当前进程 ID 是 1234
,那么 /proc/self
就等同于 /proc/1234/
/proc/self/root
:它也是一个符号链接,指向系统的根目录(/
) 。在一些受限制的环境(如容器环境 )中,通过这个符号链接可以突破当前目录限制,访问到系统根目录下的文件
符号链接
符号链接也叫做软连接,是一类特殊文件,其本质是包含指向其他文件或目录的引用的文本文件,该引用以绝对路径或相对路径形式存在
payload
1 |
|
利用符号链接/proc/self/root
突破目录限制,/proc/self/root
作为指向根目录的符号链接,多次使用可突破代码可能存在的当前目录范围限制
可以利用/proc/self/root
,可以构造出指向任意文件的路径,即使代码没用直接访问/var/www/html/starven_secret.php
的权限,也可以通过/proc/self/root
逐步导航到目标文件所在位置,从而绕过可能存在的目录访问限制,实现对敏感文件的访问
符号链接突破目录限制
https://yschen20.github.io/2025/04/25/符号链接突破目录限制/