|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you have found a vulnerability, please send to our SecurityAlert Database : secalert()securityreason()com
Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com |
|
|
Home SecurityAlert Database |
|
|
Topic : | WebSpell > 4.0 Authentication Bypass and arbitrary code execution
|
SecurityAlert : 2337
CVE : CVE-2007-1154 CVE : CVE-2007-1160 CVE : CVE-2007-1155
SecurityRisk : Medium (About)
Remote Exploit : Yes
Local Exploit : No
Exploit Available : Yes
Credit : Robin Verton
Published : 07.03.2007
Affected Software : | WebSpell > 4.0 |
 Advisory Content : WebSpell Authentication Bypass and arbitrary code execution
Vendor : WebSpell
URL : http://www.webspell.org/
Version : All
Risk : SQL Injection, unchecked file upload
Description:
webSPELL is a free Content Management System (CMS) for clans and gaming
communities, providing all needed features like forums,
gallery, clanwar system. Because of some serious flaws in the login and
cookie-handling function, login can be easily bypassed and
arbitrary php code executed via uploading a php file.
Notes: magic_quotes_gpc() has to be set OFF
Details:
Due to an SQL Injection via the sended 'ws_auth' cookie, WebSpell is
vulnerable to an Authentication Bypass.
$login_per_cookie = false;
if(isset($_COOKIE['ws_auth']) AND !isset($_SESSION['ws_auth'])) {
$login_per_cookie = true;
$_SESSION['ws_auth'] = $_COOKIE['ws_auth'];
}
systeminc('login');
[...]
if(stristr($_SESSION['ws_auth'], "userid")===FALSE){
$authent = explode(":", $_SESSION['ws_auth']);
$ws_user = $authent[0];
$ws_pwd = $authent[1];
$check = safe_query("SELECT userID FROM ".PREFIX."user WHERE
userID='$ws_user' AND password='$ws_pwd'");
while($ds=mysql_fetch_array($check)) {
$loggedin=true;
$userID=$ds['userID'];
}
}
As seen in the above codee, the Cookie 'ws_auth' is divided into two parts:
The userid and the password.
With the following cookie you can bypass this function and login as
admin(userid 1):
1;' OR '1'='1
When 'logged in' an PHP-file with arbitrary code can be uploaded via the
"add squad" feature.
Solution:
Use mysql_real_escape_String() or addslashes() for the safe_query()
Credits:
Robin Verton < r.verton at gmail com>
Feedback :
If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
|
|
|
|