当前位置: 首页 > news >正文

Blackash CVE-2025-66516 - Apache Tika 核心XXE漏洞检测工具

🛡️ Blackash CVE-2025-66516:Apache Tika 核心XXE漏洞检测器

[
[
[

CVE-2025-66516是一个存在于 Apache Tika 核心处理引擎中的严重 XML 外部实体注入漏洞。攻击者无需任何认证或用户交互,仅需上传一个特制的包含 XFA 表单的 PDF 文件,即可实现敏感文件读取、服务端请求伪造,甚至在特定条件下执行远程代码。本工具旨在帮助安全团队和企业管理员,安全、无侵入地检测内部 Apache Tika 服务是否受此漏洞影响。

✨ 功能特性

  • ⚡️ 零接触检测:仅通过请求/version端点来获取版本号,绝不发送任何恶意 payload,确保检测过程绝对安全。
  • 📋 全面的版本库:内置了从1.133.2.1的所有受影响版本列表,涵盖tika-coretika-parsers
  • 🌐 简单易用:命令行工具,只需提供目标 Tika 服务的 URL,即可一键检测。
  • 🚨 清晰的风险提示:检测完成后,会明确输出“易受攻击”或“安全”的状态,并提供紧急修复建议。

📦 安装指南

系统要求

  • Python 3.x
  • pip包管理器

安装步骤

  1. 克隆或下载本工具到本地。
  2. (可选但推荐)创建并激活 Python 虚拟环境:
    python -m venv venvsourcevenv/bin/activate# 在 Windows 上使用 `venv\Scripts\activate`
  3. 安装所需的依赖库:
    pipinstallrequests urllib3

工具无需复杂安装,所有依赖仅为标准的 HTTP 请求库。

🚀 使用说明

基础用法

在终端中执行以下命令:

python CVE-2025-66516.py<目标Apache Tika服务器的URL>

示例:

# 检测本地运行的 Tika 服务python CVE-2025-66516.py http://127.0.0.1:9998# 检测内网中的 Tika 服务python CVE-2025-66516.py http://192.168.1.100:9998

典型使用场景

  1. 内部资产扫描:在企业内部网络中对所有运行 Apache Tika 的服务器进行批量检测,快速定位脆弱资产。
  2. CI/CD 安全门禁:在部署文档处理服务之前,作为 CI/CD 流水线的一环,自动检测新部署的 Tika 版本是否存在漏洞。
  3. 漏洞验证:安全人员在获得授权后,使用本工具验证漏洞是否存在,为后续的修复工作提供依据。

工具输出概览

执行后,你将看到类似如下的输出:

  • 易受攻击状态 🚨

    [*] Targeting: http://127.0.0.1:9998 [+] Version response from /version: Apache Tika 3.2.1 🚨 VULNERABLE to CVE-2025-66516 (CVSS 10.0)! Upgrade to Apache Tika ≥ 3.2.2 immediately
  • 安全状态 ✅

    [*] Targeting: http://127.0.0.1:9998 [+] Version response from /version: Apache Tika 3.2.2 ✅ SAFE – version is patched or not affected

💻 核心代码

1. 漏洞版本库定义

工具的核心在于一个精确的易受攻击版本列表,确保检测结果的准确性。

# 定义所有受 CVE-2025-66516 影响的 Apache Tika 版本VULNERABLE_VERSIONS={# tika-core 受影响的主要版本分支"1.","2.","3.0","3.1","3.2.0","3.2.1",# tika-parsers (旧分支) 受影响的具体版本"1.13","1.14","1.15","1.16","1.17","1.18","1.19","1.20","1.21","1.22","1.23","1.24","1.25","1.26","1.27","1.28.0","1.28.1","1.28.2","1.28.3","1.28.4","1.28.5"}

2. 版本获取逻辑

安全地获取目标 Tika 服务的版本信息,优先尝试/version端点。

defcheck_tika_version(url,timeout=10):""" 向目标 Tika 服务器请求版本信息。 尝试访问 /version 和根路径 /,以兼容不同配置。 """try:# 尝试两个常见的版本信息端点forendpointin["/version","/"]:r=requests.get(f"{url.rstrip('/')}{endpoint}",timeout=timeout,verify=False,# 忽略 SSL 证书错误,便于内网测试headers={"Accept":"text/plain"})# 如果请求成功,返回获取到的版本字符串ifr.status_code==200:version=r.text.strip()print(f"[+] Version response from{endpoint}:{version}")returnversionexceptExceptionase:# 捕获连接超时、拒绝连接等网络错误print(f"[-] Connection error:{e}")returnNone# 无法获取版本信息时返回 None

3. 漏洞判断逻辑

将获取的版本号与预定义的漏洞版本库进行比对。

defis_vulnerable(version):""" 判断给定的版本字符串是否属于易受攻击的版本列表。 """ifnotversion:returnFalse# 清理版本字符串,例如将 "Apache Tika 3.2.1" 转换为 "3.2.1"version=version.lower().replace("apache tika ","").strip()# 检查清理后的版本是否以漏洞列表中的任何一个字符串开头forvulninVULNERABLE_VERSIONS:ifversion.startswith(vuln):returnTruereturnFalse

4. 主执行流程

整合以上逻辑,提供清晰的命令行交互和结果输出。

defmain():# 显示工具 Bannerbanner()# 检查命令行参数iflen(sys.argv)!=2:print("Usage: python3 CVE-2025-66516.py http://target:9998")print("Example: python3 CVE-2025-66516.py http://192.168.1.10:9998")sys.exit(1)target=sys.argv[1]print(f"[*] Targeting:{target}\n")# 1. 获取版本version=check_tika_version(target)ifnotversion:print("[-] Could not retrieve Tika version – is it running?")sys.exit(1)# 2. 判断漏洞ifis_vulnerable(version):# 输出高风险警告print("🚨 VULNERABLE to CVE-2025-66516 (CVSS 10.0)!")print(" Upgrade to Apache Tika ≥ 3.2.2 immediately")else:# 输出安全状态print("✅ SAFE – version is patched or not affected")```FINISHED 6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ6WP5rkCkLHKrkZYqOJIIlf 更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手) 对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
http://www.jsqmd.com/news/398501/

相关文章:

  • Qwen3-TTS-Tokenizer-12Hz效果展示:多人对话场景下各说话人token独立重建
  • 5步搞定DeepSeek-R1-Distill-Qwen-7B部署:新手友好教程
  • AIGlasses_for_navigation实战:手把手教你实现盲道智能检测
  • 用实力说话!降AI率软件 千笔·降AI率助手 VS PaperRed 专科生专属推荐
  • 幻镜AI抠图实战:5分钟教会你制作透明LOGO和商业海报
  • 中文NLP小白必看:StructBERT情感分类快速入门
  • DASD-4B-Thinking企业应用:vLLM部署的轻量级思考模型在研发提效中的落地
  • 5分钟上手SmallThinker-3B:Qwen2.5微调模型实战教程
  • FLUX.小红书极致真实V2本地化部署:无网络依赖、数据不出本地的安全方案
  • 从零开始网站制作的完整五大流程指南
  • 3D Face HRN模型在社交APP中的创意应用
  • SiameseUIE开源可部署实操:本地Docker镜像拉取+Web服务验证完整步骤
  • Qwen-Turbo-BF16数学建模实战:优化算法与可视化
  • Banana Vision Studio与Java开发:工业设计评审系统实战
  • LightOnOCR-2-1B镜像免配置实战:Gradio前端+API服务一键启动
  • 人脸重建效果对比:cv_resnet50_face-reconstruction实测报告
  • Meixiong Niannian画图引擎在文化遗产保护中的应用:古画修复与重现
  • 零代码设计:Nano-Banana生成专业结构图案例分享
  • AudioLDM-S极速部署案例:RTX 3060显卡上实现float16+attention_slicing优化
  • Xinference-v1.17.1语音识别系统:Whisper模型优化实践
  • 基于OFA的图片描述神器:开箱即用的本地解决方案
  • EmbeddingGemma-300m多语言支持实测:100+语言文本嵌入效果展示
  • 电气simulink仿真模型 PMSM永磁同步电机MTPA、id=0控制、直接转矩控制、最小损...
  • 惊艳!MiniCPM-V-2_6多模态效果展示:超越GPT-4的视觉理解能力
  • 大润发购物卡如何快速变现?速看攻略! - 团团收购物卡回收
  • SiameseUIE中文-base惊艳效果:多粒度Schema灵活适配真实案例
  • 2026最新!9个AI论文工具测评:研究生毕业论文与科研写作必备神器
  • Lychee模型与ROS集成:服务机器人多模态交互系统
  • 同一个用户对同一个作品只能有一条收藏记录,但不同用户可以收藏同一个作品的mysql数据表实现
  • 2026年污水处理设备品牌精选,这些靠谱之选不容错过,8040反渗透膜/保安过滤器滤芯,污水处理设备销售厂家有哪些 - 品牌推荐师