- 在VisualStudio中部署GDAL库的C++版本(包括SQLite、PROJ等依赖)
- Android开机流程介绍
- STM32CubeMX教程31USB_DEVICE-HID外设_模拟键盘或鼠标
- 深入浅出Java多线程(五):线程间通信
RCE得搭配着文件上传的点来进行利用 。
用docker搭个php7的环境,作者用的php7.0 docker run -itd --name php7 -p 8083:80 php:7.0-apache 安装opcache拓展 。
docker exec -it 容器id /bin/bash
cd /usr/local/bin && docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache
cd /etc/init.d && ./apache2 restart
查看phpinfo,出现这个说明安装成功: 修改一下php.ini,应用opcache: cd /usr/local/etc/php && cp php.ini-development php.ini 然后改php.ini: 最后重启一下docker容器,配置生效:
Opache是php中一个生成缓存文件的拓展,当我们访问一个php文件时,他会产生一个缓存文件,下次访问该php文件时,就会直接根据缓存文件回显页面,查看tmp下,已经生成了缓存文件:
想要rce,我们就得覆盖掉生成的bin文件,首先得计算出文件夹的这个system_id,也就是8431e96e6adfc8fc75ad38a0f6a7eb4e,那么这个system_id怎么计算呢?偷别人的脚本(bushi : https://github.com/GoSecure/php7-opcache-override 非常的方便快捷 现在得生成我们的恶意bin文件去覆盖掉原先的bin文件,先分析一下bin文件的结构: 010可以看出,bin文件的文件头是OPCACHE+system_id,由于opcache有个时间戳验证,如果我们伪造的时候,时间戳对不上是不会生效的,上图中的40h处就是时间戳的值,点击40h处,然后看Signed Int64的值,到时直接替换这个值就行了 我们在自己服务器上生成一个恶意的bin文件,改掉时间戳跟system_id的值,上传覆盖phpinfo.php.bin,访问覆盖成功(我这里语法写错了,难崩) 。
在php8后,system_id的生成方式发生了改变,所以7的脚本用不了了,但是8是有规律的,其实我们只要能获取到php的正确版本,就能自己搭建生成一个完全一样的system_id,其余操作都是相同的,唯一不同的就在于system_id的生成 。
最后此篇关于opcache导致的RCE复现的文章就讲到这里了,如果你想了解更多关于opcache导致的RCE复现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试在具有多个轴的 matplotlib 上显示悬停标签。 我正在使用 python 3.6.8 和 matplotlib 3.0.3 我的情节有多个轴,我查看了这篇文章中的示例: Possib
我有这个: 1.test fred 5 <i>(9.5h)</i> 我看到的是这样的: 我无法更改跨度标签,它是 fullcalendar 的一部分。我该怎么做才能看到斜体而不
如何制作这个标签单击复选框时出现?现在它是隐藏的。 Bark Bark Hear a dog CSS: .bark{ visibility: hidden } input[type="checkb
我是编码初学者,我需要以下代码的帮助。我正在努力制作“你输了!”标签在计时器为零后出现,但是当我尝试这样做时;它没有显示任何内容。请帮助我! class Game: SKScene { let
实际上,在 api 调用之前,只有 Label 可见且为空文本。获得响应后标签字符计数大于零。但是这里如何等待字符数大于零的标 checkout 现并执行某些操作。 这是我使用的代码,但我收到谓词错误
我正在使用以下 HTML 代码: hr { border: none; border-top: 3px double #333; color: #333; overflow: visi
我想去掉特定标记的出现,保持内部 XML 完好无损。我想一次完成(而不是搜索、替换并再次从头开始)。例如,来自源: Content Here More Her
我正在尝试弄清楚如何让 slider 说出两个不同的内容。我希望 slider 上方的输入以 1.25 美元的二十步表示美元金额(20 到 45 之间)——但我希望实际句柄只说单个整数答案,如 1..
我正在使用 matplotlib 基于数据框制作步骤图,但我希望显示数据框的键/值之一( signals_df['Gage'] ),而不是坐标作为注释,但我总是收到错误:AttributeError:
有什么方法可以让我看到所有标签吗?正在绘制所有点,工具提示正确显示标签和值,但 X 轴上的所有标签都不可见。 最佳答案 是的,有办法。您需要将 x 轴刻度的 autoSkip 属性设置为 false,
我是一名优秀的程序员,十分优秀!