Lucene search
K

Joomla JE Messenger 1.0 Shell Upload

🗓️ 09 Dec 2010 00:00:00Reported by Salvatore FrestaType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 24 Views

JE Messenger 1.0 Arbitrary File Upload Vulnerability in Joomla componen

Code
`JE Messenger 1.0 Arbitrary File Upload Vulnerability  
  
Name JE Messenger  
Vendor http://joomlaextensions.co.in  
Versions Affected 1.0  
  
Author Salvatore Fresta aka Drosophila  
Website http://www.salvatorefresta.net  
Contact salvatorefresta [at] gmail [dot] com  
Date 2010-12-09  
  
X. INDEX  
  
I. ABOUT THE APPLICATION  
II. DESCRIPTION  
III. ANALYSIS  
IV. SAMPLE CODE  
V. FIX  
  
  
I. ABOUT THE APPLICATION  
________________________  
  
JE Messenger is a Joomla's component.  
  
  
II. DESCRIPTION  
_______________  
  
A parameter is not properly sanitised before being used  
from the native Joomla's upload function.  
  
  
III. ANALYSIS  
_____________  
  
Summary:  
  
A) Arbitrary File Upload  
  
  
A) Arbitrary File Upload  
________________________  
  
A logic error in the save function (compose.php) allows  
to a registered user to upload a file with any extension.  
The check for a valid file's extension is made after the  
upload and in the failure case, the file doesn't removed  
from the server. This can be exploited to execute  
arbitrary PHP code by uploading a PHP file.  
  
The file's name is different after the upload:  
  
$file['name'] = time().'in'.$file['name'];  
  
Example:  
  
Original file's name: shell.php  
Uploaded file's name: 1291907399inshell.php  
  
Where 1291907399 is the value returns from the time()  
function.  
  
The file will be uploaded to the following directory:  
  
$dest = JPATH_ROOT.DS.'components/'.$option.'/assets/images/'.$file['name'];  
  
The default destination is:  
  
http://site/path/components/com_jemessenger/assets/images/  
  
  
IV. SAMPLE CODE  
_______________  
  
A) Arbitrary File Upload  
  
1 - Login to target website's Joomla  
2 - Go to http://site/path/index.php?option=com_jemessenger&view=compose  
3 - Compile a valid form and select an arbitrary file  
4 - Go to http://site/path/components/com_jemessenger/assets/images/filename  
  
  
Try a little bruteforce to find the value returned from  
the time() function.  
  
  
V. FIX  
______  
  
No fix.  
  
  
`

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