Hacker News | 📄 原文链接 | 2026-11-11 收录

PHP2Shell 深度拆解:一个陈旧指针如何变成远程执行

来源:djad04.github.io — 2026-10-26

📋 概述

作者不满意现有分析只停在「打了这个包就能弹 shell」,于是自己啃 PHP 源码写了一份从零讲到利用的技术长文:先补栈与堆、内存分配的基础,再讲 use-after-free 的读写(陈旧指针从哪来),然后是 PHP 会话与 OOM 的交互、触发 OOM 的具体 HTTP 请求、要泄漏的堆指针与代码指针、目标结构 zend_string、第二次请求如何回收内存、堆排布如何把伪造数据放进正确槽位,最后解释为什么堆泄漏与代码泄漏需要分开标定。

🔑 核心要点

💡 金句

I wanted to do something different: a proper, in depth technical walkthrough that explores the entire process, examining every important detail and explaining not just WHAT happens, but WHY and HOW it happens.
← 返回 Hacker News 首页