利用 PHP7 的 OPcache 执行 PHP 代码

本文详细介绍了PHP7的OPcache特性如何被利用来执行恶意代码,包括绕过Web目录的读写限制。攻击者通过替换OPcache缓存文件实现代码执行,特别是利用文件上传漏洞和特定的PHP配置。防御策略包括禁用`file_cache_only`和启用`validate_timestamps`。此外,文章还讨论了如何绕过内存缓存和时间戳校验限制。对于PHP7使用者,防范此类攻击的关键在于代码审计和正确配置OPcache。

from:http://blog.gosecure.ca/2016/04/27/binary-webshell-through-opcache-in-php-7/

在 PHP 7.0 发布之初,就有不少 PHP 开发人员对其性能提升方面非常关注。在引入 OPcache 后,PHP的性能的确有了很大的提升,之后,很多开发人员都开始采用 OPcache 作为 PHP 应用的加速器。OPcache 带来良好性能的同时也带来了新的安全隐患,下面的内容是 GoSecure 博客发表的一篇针对 PHP 7.0 的 OPcache 执行 PHP 代码的技术博文。

本文会介绍一种新的在 PHP7 中利用默认的 OPcache 引擎实施攻击的方式。利用此攻击向量,攻击者可以绕过“Web 目录禁止文件读写”的限制 ,也可以执行他自己的恶意代码。

0x00 OPcache 利用方式简介


OPcache 是 PHP 7.0 中内建的缓存引擎。它通过编译 PHP 脚本文件为字节码,并将字节码放到内存中。

使用 PHP7 加速 Web 应用

OPcache 缓存文件格式请看这里

同时,它在文件系统中也提供了缓存文件。
在 PHP.ini 中配置如下,你需要指定一个缓存目录:

1

2

<code>opcache.file_cache=/tmp/opcache

</code>

在指定的目录中,OPca

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值