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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2018-1335 — CENG 325 - 信息安全与隐私原理 | Kitploit
工具/GitHubGitHub/canumay/cve-2018-1335
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制学习与教育
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - 信息安全与隐私原理

查看仓库
15年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

安卡拉耶尔德勒姆贝亚齐特大学计算机工程系

CENG 325 - 信息安全与隐私原理

CENG201 面向对象编程项目

小组成员

@canumay @aslihann @ezgigucuyener @mburakdonmez

参考文献

NVD - CVE-2018-1335

漏洞利用数据库 - Apache Tika-server < 1.18 - 命令注入

Rhino安全实验室 - 利用CVE-2018-1335:Apache Tika中的命令注入

Metasploit

免责声明

该利用代码由网络安全研究员 David Yesland @Daveysec 编写,仅供教育用途使用。

里程碑1 – 漏洞研究

a. 漏洞简要描述

  • 类型:命令注入
  • 影响因子:根据CVSS影响指标,该漏洞的影响评分为5.9。机密性、完整性和可用性三项均为高。
  • 严重性评分:根据CVSS基础评分指标,该漏洞的严重性评分为8.1。(CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • 受影响应用的版本:Apache Tika 1.7至1.17版本
  • 漏洞类型的含义
    • 介绍漏洞类型并讨论其与其他类型漏洞的区别
      漏洞类型为命令注入。这是因为易受攻击的应用程序将未经处理的用户数据传递给系统shell,从而允许执行恶意代码。如果将此类漏洞与代码注入进行比较,我们会发现一些差异。例如,代码注入允许攻击者使用由应用程序执行的自有代码;而命令注入则允许攻击者修改应用程序的功能,从而让用户运行系统命令。

b. 漏洞利用方式

  • 触发漏洞后可实施的攻击类型:触发漏洞后,我们可以轻松创建反向shell,凭借该shell,我们基本上可以执行运行Apache Tika服务器的用户有权访问的所有命令。
  • 攻击者如何利用该漏洞攻击易受攻击的系统:首先,攻击者应确定目标服务器是否运行着易受攻击的Apache Tika服务器版本。然后,攻击者构造恶意HTTP头部和JScript代码,向易受攻击的HTTP端点发送PUT请求,这会导致Apache Tika服务器利用其自身功能执行恶意代码。
  • 该漏洞是否被用于漏洞利用工具包:是的,该漏洞已包含在Metasploit利用工具包中。

里程碑2 – 利用代码

a. 寻找或构建利用该漏洞的代码

b. 突出显示存在漏洞的代码片段并解释其为何存在漏洞

Apache Tika服务器构造要执行的命令,其命令中的值由用户在对图像执行OCR的请求中提供。这使得用户可以操控该命令并执行恶意代码。在此例中,“config.getTesseractPath()”会获取“X-Tika-OCRTesseractPath”头部并将其附加到命令的开头。尽管在用户提供的路径末尾附加了“tesseract.exe”字符串,但用户可以通过使用双引号包裹自己的路径来丢弃随后的“tesseract.exe”字符串。这允许用户在服务器上运行任何可执行文件。

构造的命令:

root@kitploit:~
"calc.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l eng -psm 1 txt -c preserve_interword_spaces=0

Windows内置的CScript.exe是一种脚本语言,它接受脚本文件名并运行它,同时忽略其他参数。如果我们能提供一个为cscript构建的脚本,我们就可以在服务器上执行它。Apache Tika服务器将我们提供的图像保存在主体中,并将其保存为临时文件以运行OCR,因此我们不必发送图像二进制文件,而是直接发送一个字符串,该字符串将像二进制文件一样被保存。但Tika服务器会检查该二进制文件是否为图像,但jp2文件类型除外,后者会直接保存。该文件将作为参数传递给cscript可执行文件。但文件扩展名仍然是“.tmp”,而我们需要“.JScript”或“.vbs”扩展名。为了绕过这一点,我们可以让cscript忽略文件扩展名而直接运行“JScript”。Tika服务器还会将“config.getPageSetMode()”传递给命令,该值由用户在“X-Tika-OCRLanguage”头部中发送。如果我们将其改为字符串“//E:Jscript”,cscript将忽略文件扩展名,将脚本作为JScript运行。最后,主体中提供的字符串将成为待执行的载荷,该载荷还可以调用另一个控制台以获得对系统shell的完全访问权限。

最终构造的命令:

root@kitploit:~
"cscript.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l //E:Jscript -psm 1 txt -c preserve_interword_spaces=0

一个用于在JScript中调用shell的简单载荷:

root@kitploit:~
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c calc.exe');

里程碑3 – 执行

a. 执行你找到或构建的利用代码:

Apache Tika Server 1.17 正在目标虚拟机中运行。

我们可以从主机通过IP“192.168.233.167”访问该服务器。

然后我们执行了构造的利用代码,载荷为“calc.exe”,以在目标机器上运行计算器,从而证明我们能够在该目标机器上执行任意恶意代码。甚至通过反向shell的能力,我们可以在目标机器上创建一个交互式shell会话。

b. 利用代码的执行结果是什么:

如上所述,通过此利用代码,我们在目标机器上执行了计算器程序,但凭借远程代码执行的能力,我们可以以运行Apache Tika服务器的用户权限在目标机器上执行任何操作。例如,我们可以访问用户文件、监控用户活动,甚至如果存在摄像头,我们还可以截图或拍照。

c. 如何证明该漏洞确实存在:

该漏洞已由可靠来源(如NIST)报告,甚至已由Apache本身确认并修补。但为了证明这一点,我们可以使用metasploit进行另一个概念验证。

首先,我们确认安装的版本是易受攻击的版本。

确认版本后,我们可以配置metasploit会话,使用正确的IP和端口,然后运行“check”命令以验证目标是否易受攻击。

最后,我们可以运行“exploit”命令开始利用,并通过在shell中输入“dir”来确认shell是否存活。至此,唯一的限制是运行Apache Tika服务器的用户的权限。

下载工具