[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9o0esue24j98":3},{"code":4,"message":5,"data":6,"timestamp":25},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":22,"homepage":22,"updated_at":23,"history":24},"9bie\u002Fphp2shell-bypass-aslr-exp",4,"A php2shell exploit that requires no modifications to the official version, and does not require display_errors or limit_memory.","Python",1400,412,393,3,[],"在不改目标配置、只用 HTTP 的前提下，对官方 Apache prefork + mod_php 实现远程 RCE。","## 解决什么问题\n\n公开的 PHP 利用链大多默认目标被削弱过：`display_errors=On`、`memory_limit` 被调到极小、用了自定义 ini，或者需要挂调试器。真实环境跑的是 php.ini-production，错误关闭、128M 内存，研究者要证明这种官方配置也能被打穿，往往拿不出完整链路。这个项目在官方镜像、官方 ini、官方 150 worker prefork 配置下实现 RCE，攻击流量只有普通 HTTP，目标页面只有 `\u003C?php echo \"OK\\n\"; ?>`。\n\n## 有什么不同\n\n通常的 PHP 内存破坏研究要么自己 build 带符号的目标挂 gdb，要么依赖非默认配置来完成泄漏。这里的链路是：用不带 `Content-Length` 的 chunked multipart 绕过 `post_max_size`；在 END cleanup 的 `php_url_encode` 里制造 OOM，bailout 后留下悬空的 session 状态；借 `Set-Cookie` 做越界读，从堆里泄出 chunk 基址和 `libphp` 地址；再用一次 cheap-OOM 把 `hash_serialize_verifier` 指向堆上伪造的 `zend_array`，让 `pDestructor` 落到 `zif_system`。真正让它成立的是 worker pinning：先用 149 个只发了半个 body 的 POST 占住其他 child，确保跨请求的悬空指针落在同一个 child 上。README 对机制的交代很实，并且附了每次运行的证据日志，而不是只放一个演示视频。\n\n## 适合谁\n\n适合在授权范围内做 PHP\u002FApache 栈漏洞研究的安全研究员和渗透测试人员，也适合想弄清纯 HTTP 内存破坏链能走多远的防守方，尤其是做 WAF 和检测规则的人——流量只是 chunked multipart 和普通 GET\u002FPOST，很值得拿来研究。不适合想找通用扫描器的人：偏移是按 Debian 13 上 PHP 8.4.26 NTS mod_php 标定的，换构建或版本就要重新标定。也不适合在非自己掌控的系统上尝试，README 明确限定在授权环境。\n\n## 上手成本\n\n需要 Docker（或 sudo docker）起目标，Python 3 跑脚本，架构要对得上，项目声称支持 x86_64 和 aarch64，默认 `--arch auto` 自动识别。换 PHP 构建或版本会让偏移表失效，重新标定是实打实的工作量。没有声明 License，这对任何商业使用或再分发都是硬性阻碍。成熟度也薄：一个 README、一个脚本、若干证据日志，没有测试套件。安装方式看 README，基本是 clone 后先跑 `.\u002Fpure\u002Frun_pure.sh`，再跑 exploit 脚本。\n\n## 点评\n\n这是一个全新的仓库：创建 3 天、1399 stars、日均 +421，在新榜上冲到 #11，形态更像一次集中的漏洞披露带来的短期冲高，而不是成熟工具。技术内容异常具体，偏移和逐次日志都摆出来了，所以很快吸引了注意力。但没有 License、目标矩阵窄、也没有明显的维护计划，应当把它当作研究产物和检测工程参考，而不是基础设施。偏移 profile 和整条链都会随着 PHP 修补很快过时。",{"slug":19,"name":20},"security","安全",[],null,"2026-10-24T21:36:37Z",[],1792898484]