首发drops:http://drops.wooyun.org/tips/3978 。
解决方法 找到Nginx中的fastcgi.conf配置文件,一般位于fastcgi.conf文件中
PHP为了安全性考虑,有一项open_basedir的设置,该配置可以设置你访问目录的权限.根据你web服务器环境,open_basedir可以在几个地方设置.
PHP被广泛用于各种Web开发。而当服务器端脚本配置错误时会出现各种问题。现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等)。
文章名称:nginx + php-fpm fastcgi防止跨站、跨目录的安全设置 我们知道apache php mod的方式可以很方便的配置 open_basedir 限制各个站点的目录访问权限。 nginx + php-fpm fastcgi的方式需要这样做。 首先php的版本必须大于等于php5.3.3。 总限制 通过php-fpm.conf限制 在php-fpm.conf配置文件当中可以增加如下参数 env[TMP] = /tmp/ env[TMPDIR] = /tmp/ env[TEMP] = /
php扩展的路径,图省事没用lamp包有点捞…(这里还是说下linux不推荐用phpstudy,很多linux装了phpstudy系统会崩)
在lnmp环境中,需要操作/data/log/walle/目录,但是提示报错没有权限。
并不只是针对Lnmp的沙盒逃逸,而是.user.ini的设计缺陷达到绕过open_basedir限制,所以是通用的方法。首先来看看最新版LNMP是怎么配置open_basedir的:
为 PHP 设置了 open_basedir 后,发现使用 require 和 include 始终会报出下面这样的 Warning 信息:
就是require文件的时候出错了,并且带上了文件的路径,一开始以为是路径出错的,于是在index.php中尝试修改 引入的文件路径,发现index.php并没有问题。
前几天收到一个网友反馈,出现了一个错误提示“open_basedir restriction in effect. File(/opt/rasp_php70/logs/alarm/alarm.log.2022-01-01) is not within the allowed path(s)”,看过之后一头雾水,没遇到过,今天做zblog搜索伪静态的时候突然想起来这个错误了,是的,十天了,我才想起来,没办法啊记性不好。百度了一下,应该是宝塔“防跨站攻击(open_basedir)”引起的错误,一般来说是Apache环境引起的。
php-fpm定义open_basedir目录概要 vim /usr/local/php-fpm/etc/php-fpm.d/test.conf//加入如下内容 php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/ 创建测试php脚本,进行测试 再次更改aming.conf,修改路径,再次测试 配置错误日志 再次测试 查看错误日志 php-fpm定义open_basedir open_basedir 的作用是限制php在指定的目录里活动。 因
在面板上面创建网站及其附属部署。上传程序到指定目录后,通过域名访问网站,提示如下。
主要问题就是,File(/data/tntsearch/stickers.index) is not within the allowed path(s)
PHP配置文件指令多达数百项,为了节省篇幅,这里不对每个指令进行说明,只列出会影响PHP脚本安全的配置列表以及核心配置选项。
LNMP 1.1及之前的版本使用php.ini里面,open_basedir设置 LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改.user.ini 里面的open_basedir的值来设置限制访问的目录或删除来移除防跨目录的设置。 .user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini 可以使用winscp文件管理、vim编辑器或nano编辑器进行修改。 删除的话rm -f /网站目录/.user.ini 就可以。 修改完成后再执行:chattr +i /网站目录/.user.ini .user.ini不需要重启一般5分钟左右生效,也可以重启一下php-fpm立即生效。 如果要更改网站目录必须要按上述方法修改防跨目录的设置,否则肯定报错!! LNMP 1.4或更高版本如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。 LNMP 1.4或更高版本也可以直接使用lnmp安装包 tools/ 目录下的 ./remove_open_basedir_restriction.sh 进行移除。 在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。 LNMPA或LAMP 模式1.2版本或更高版本的防跨目录的设置使用的对应apache虚拟主机配置文件(lnmp管理工具添加的话文件是 /usr/local/apache/conf/vhost/域名.conf )里的php_admin_value open_basedir参数进行设置。如果不需要防跨目录设置可以在 php_admin_value open_basedir 该行前面加 # 进行注释,或自行修改参数后面的目录。 重启apache生效。
最近入职一家初创公司从外包手机接下来一个项目,自己买了一个服务器迁移了一个项目,由外包的宝塔迁移到自己的服务器,主要说一下遇到的坑,进行一次总结,服务器是阿里云的。
今天一位客户问ytkah网站后台出现了Warning: file_get_contents(): open_basedir restriction in effect. File(/proc/uptime) is not within the allowed path(s):提示错误,如下图所示,这个是因为php的open_basedir设置引起的。客户的运行环境是宝塔面板,那设置就很方便了
今天PHP突然报open_basedir restriction错误,改了php.ini还是报错,于是百度查了查,总结如下:
众所周知,虚拟主机的安全不好做,特别是防止跨站成为了重点。apache+php服务器防止跨站的方式比较简单,网上的所有成熟虚拟主机解决方案都是基于apache的,如directadmin、cpanel。
PHP相关配置 : 通过如下方式找到咱们的php配置文件,这才是真正的PHP配置文件! [root@localhost test3.com]# /usr/local/php7/bin/php -i | grep -i 'loaded configuration file' Loaded Configuration File => /usr/local/php7/etc/php.ini 编辑配置文件: vim /usr/local/php7/etc/php.ini 提高安全性: 搜索 /disable_fun
作者:matrix 被围观: 4,382 次 发布时间:2017-09-28 分类:零零星星 | 一条评论 »
拿到webshell之后,通过phpinfo看到disable_functions配置限制的函数,且目录权限受到open_basedir的限制,能执行系统命令的函数都被禁用,常规蚁剑提供的绕过方式也都被封锁,但是从phpinfo文件里发现系统上运行着FPM/FastCGI和nginx。
phpinfo()想必的最熟悉的了,在搭建环境之后都会随后写一个 phpinfo()来测试环境是否正常,很多人测试完毕忘记删除就开始部署环境了,这就造成了一些敏感信息的泄漏。那么我们能从 phpinfo()中获得哪些敏感信息呢?php 版本这种就不用说了,来看一下泄漏了哪些比较敏感的信息。 一、绝对路径(_SERVER[“SCRIPT_FILENAME”]) 这个是最常用,也是最有效的一个办法,找到 phpinfo()页面可以直接找到网站的绝对路径,对于写 shell 和信息搜集是必不可少的。 二、支持的程序 可以通过 phpinfo()查看一些特殊的程序服务,比如 redis、memcache、mysql、SMTP、curl 等等如果服务器装了 redis 或者 memcache 可以通过 ssrf 来 getshell 了,在 discuz 中都出现过此类问题。如果确定装了 redis 或 memcache 的话,在没有思路的情况下,可以着重找一下 ssrf 三、泄漏真实 ip(_SERVER[“SERVER_ADDR”]或 SERVER_ADDR) 有时候通过 phpinfo()泄漏的 ip 可以查查旁站、c 段什么的,直接无视 cdn,百事不灵。 四、GOPHER 也算是 ssrf 一部分吧,或者说主要靠 ssrf 利用起来,如果支持 gopher,ssrf 便没有压力咯 五、fastcgi 查看是否开启 fastcgi 和 fastcgi 的版本,可能导致解析漏洞、远程命令执行、任意文件读取等问题 六、泄漏缓存文件地址(_FILES[“file1”])
目前 LNMP 一键安装包已经是 1.5 的版本了,一个朋友找我帮她看服务器环境的时候出现了这个问题,修改伪静态目录不生效
在CentOS8中安装了宝塔,配置thinkphp5.1版本环境时出了问题,在此之前网站虚拟域名成功配置,能够访问站点创建成功的页面
首先明确可道云没有对上传下载做任何限制,速度快慢和网络环境有关。可道云是基于http上传,所以和其他http上传速度基本一致;可以对比其他web系统或网站说附件上传速度。同其他例如webdav、FTP、QQ传输等软件底层协议不一样;传输速度也会不一样。
大多数时候还真不知道怎么下手,而至于安全性所带来的效果,也总是模糊不清。这也难怪那么多开发者不重视安全性。
本文介绍下php探针代码不显示cpu、内存、硬盘等信息的原因与处理方法,在使用php探针时遇到的一些问题。
如果我们的网站有一个目录,可以上传图片,可能保不准有些别有用心的人会通过一些手段,上传php文件到这个目录下。那么这个php文件就会被apache执行,如果这个php文件里写的是恶意代码,你的服务器自然就会遭到***。毕竟开放了这样一个权限,肯定会被人上传***文件,如果被夺取了你的服务器root权限就很危险了。
本文操作环境:windows10系统、php 7.3、thinkpad t480电脑。 在centos系统下,我们的php项目没有权限,这是为什么呢?原因其实很简单,就是因为我们的网站目录指向的是public。 那么我们该如何解决这个问题呢?下面就让我们一起来看看解决方法。 解决办法:
为了避免因多站点使用同一个pool时因一个站点故障导致pool出问题,进而影响使用同一个pool的其他站点的正常运行,要对每个站点配置一个单独的pool。
很多想做渗透测试的朋友都想了解关于PHP后门漏洞的安全测试重点方法,以及该如何预防被中php后门,本节由我们的Sine安全高级渗透工程师进行全面的讲解,来让大家更好的理解和了解php代码的安全检测,让网站得到最大化的安全保障,安全保障了,网站才能更长远的运行下去。
这是前段时间写的代码了(http://www.weibo.com/1074745063/ByAPqj7s0),最近一直忙着和几个同学一起做非安全类的创业项目。所以也没拿到JAE、SAE测试一下。
限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> php_admin_flag engine off //在upload目录下禁止解析php <FilesMatch *\.php(.*)> //这行以及以下两行的意思就是 //让php的文件访问受到限制,防止php文件的源代码被查看 Order allow,deny Deny
如果a目录被黑,这样会被限制到一定范围的目录中,目录最后一定要加上/,比如/tmp/,而不是/tmp
这个是之前的笔记,随笔贴上而已。PHP安全模式在5.4的时候已经不再支持了。查看官网:
配置好域名以后,访问站点 首页 ,程序会自动跳转至安装页面,环境检测通过以后即可通过引导进行安装。
首先我代表我们XDCTF主办方对大家说声辛苦了,十一假期本该休息却依旧奋斗在CTF第一线。我是XDCTF2014的出题人之一,也是服务器的维护者之一,关于比赛不想说太多,有太多不可控制的因素。包括中途停电之类的事情,也备受吐槽。
1.兼容性差,当某函数禁用后,该功能就不能用了。其实php是个很灵活的语言,很多功能是可以有很多实现方式的。
信息收集是不可缺少的一环;通常的,我们在通过前期各种工作成功执行代码 or 发现了一个phpinfo页面之后,会从该页面中搜集一些可用信息以便后续漏洞的寻找。
限定某个目录禁止解析php: 对于使用php语言编写的网站,有一些目录是有需求上传文件的。如果网站代码有漏洞,让黑客上传了一个用PHP写的木马,由于网站可以执行PHP程序,最终会让黑客拿到服务器权限。
作为一款开源的php后台框架,网站安全是一个非常重要的条件,不论你的网站功能有多强大,多易用,安全不过关,那也是没有任何意义的,下文我们将分为服务器和代码两个方面细说
RCTF刚好赶上了完成毕设的时间,没办法只接触了部分题目,可惜的是,其中很多题目都不是特别有意思,这里只整理部分我参与的..
如果没配置URL重写规则的情况下,每次访问都要加上index.php,看起来是没这么美观和方便的。 例如:http://test.ll00.cn/index.php/index/test/hello 本文主要记录Apache、Nginx和IIS配置。
LNMP1.4以上也可以直接使用/lnmp1.4/tools/目录下的./remove_open_basedir_restriction.sh进行移除。
1. 为什么下载源码包需要到官网上去下载? 简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。 2. 64位机器是否可以安装32位rpm包?64位机器是否可以安装32位的mysql二进制免编译包? 64位机器是可以安装32位rpm包的,同样的64位机器也能安装32位的mysql二进制免编译包(centos5.x的确是支持,但是centos6.x不支持)。 3. 编译安装apache时, 如果不加–with-included-apr 会有什么问
虽然这个比赛只有一个Web题但是质量确实挺高的,值得用一篇文章来记录一下 这道题主要核心内容就是打PHP-FPM服务的原理和方法
由于脚本语言和早期版本设计的诸多原因,php项目存在不少安全隐患。从配置选项来看,可以做如下的优化。
领取专属 10元无门槛券
手把手带您无忧上云