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 脚本文件为字节码,并将字节码放到内存中。

OPcache 缓存文件格式请看这里。
同时,它在文件系统中也提供了缓存文件。
在 PHP.ini 中配置如下,你需要指定一个缓存目录:
| 1 2 |
|
在指定的目录中,OPca

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

被折叠的 条评论
为什么被折叠?



