php open_basedir绕过

描述

php为了安全性考虑,有一项 open_basedir 的设置,它可将用户访问文件的活动范围限制在指定的区域。根据你web服务器环境,open_basedir可以在几个地方设置。

首先 在php.ini中配置。

;open_basedir =

如果发现配置项前是有分号,表明php.ini中没有该设置。那就很可能是在 php-fpm 中的 fastcgi.conf中配置了。php-fpm中的配置会覆盖php.ini的配置。

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/:/you_web_path";

/you_web_path 是你要添加的让php可以访问的路径。多个路径直接分号隔开

假设open_basedir=/home/wwwroot/home/web1/:/tmp/,那么通过web1访问服务器的
用户就无法获取服务器上除了/home/wwwroot/home/web1/和/tmp/这两个目录以外的文件。
注意用open_basedir指定的限制实际上是前缀,而不是目录名。

举例来说: 若"open_basedir = /dir/user", 那么目录 "/dir/user" 和 "/dir/user1"都是
可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。

参考链接

https://www.cnblogs.com/LLeaves/p/13210005.html

https://www.v0n.top/2020/07/10/open_basedir绕过/

posted @ 2021-08-30 10:44  one-seven  阅读(167)  评论(0编辑  收藏  举报