-==CoolForum Path Disclosure & Possible SQL Injection==-
/*
--------------------------------------------------------
[N]eo [S]ecurity [T]eam [NST]® - Advisory #11 - 20/03/05
--------------------------------------------------------
Program: CoolForum
Homepage: http://coolforum.net/
Vulnerable Versions: CoolForum v.0.8.1 beta & Lowers
Risk: Low!!
Impact: Path Disclosure & Possible SQL Injection
-==CoolForum Path Disclosure & Possible SQL Injection==-
---------------------------------------------------------
- Description
---------------------------------------------------------
CoolForum est un forum de discussion semi-professionnel
que vous pouvez télécharger et installer sur votre site
web afin d'améliorer les relations entre vos visiteurs et
pouvoir avoir un contact plus poussé avec eux.
- Tested
---------------------------------------------------------
CoolForum's & LocalHost
I've done minimal testing on this there could be more bugs.
- Explotation
---------------------------------------------------------
If you access directly to : http://host/forum/alert.php
likewise it'll happen the samething here http://host/forum/viewip.php
You will get an error like this one:
You have an error in your SQL syntax near ' topicid= WHERE
sessionID='1bbd8746b185f6d539461fc40141577a'' at line 1
UPDATE CF_session SET username='', userid=0, userstatus=1, time=1111291757,
typelieu='TOP', forumid=, topicid= WHERE
sessionID='1bbd8746b185f6d539461fc40141577a'
Warning: Cannot modify header information - headers already sent by (output
started at /home/coolcoyote/coolforum/forum/admin/functions.php:51) in
/home/coolcoyote/coolforum/forum/admin/functions.php on line 284
Warning: Cannot modify header information - headers already sent by (output
started at /home/coolcoyote/coolforum/forum/admin/functions.php:51) in
/home/coolcoyote/coolforum/forum/admin/functions.php on line 284
Solution
admin/functions.php: 42 - 55
-==code==-
function query($query)
{
global $NBRequest;
$msql=mysql_query($query);
if($msql)
$NBRequest++;
else
{
echo(mysql_error()."<br>");
echo($query."<p>");
}
return($msql);
}
-==/code==-
admin/functions.php: 277 - 284
-==code==-
function sendcookie($name,$value,$expire)
{
global $_FORUMCFG;
if($expire==-1)
$expire=mktime(0,0,0,1,1,2010);
if(empty($_FORUMCFG['cookiedomain']))
setcookie($name,$value,$expire,$_FORUMCFG['cookierep']);
else
setcookie($name,$value,$expire,$_FORUMCFG['cookierep'],".".$_FORUMCFG['cookiedomain']);
}
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/entete.php
Its making a call to an undefined function.
Fatal error: Call to undefined function: getuserid() in
/home/coolcoyote/coolforum/forum/entete.php on line 50
entete.php on line 50
-==code==-
$_USER = getuserid();
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/profile_accueil.php
Making a member function on a non-object
Fatal error: Call to a member function on a non-object in
/home/coolcoyote/coolforum/forum/profile_accueil.php on line 31
profile_accueil.php on line 31
-==code==-
$tpl->treenavs=$tpl->gettemplate("treenav","treeprofil");
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/profile_mdp.php
Calling an undefined function
Fatal error: Call to undefined function: getlangage() in
/home/coolcoyote/coolforum/forum/profile_mdp.php on line 30
profile_mdp.php on line 30
-==code==-
getlangage("profile_mdp");
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/profile_notify.php
Same as the one up there
Calling an undefined function
Fatal error: Call to undefined function: getlangage() in
/home/coolcoyote/coolforum/forum/profile_notify.php on line 33
profile_notify.php on line 33
-==code==-
getlangage("profile_notify");
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/profile_options.php
Same as the one up there
Calling an undefined function
Fatal error: Call to undefined function: getlangage() in
/home/coolcoyote/coolforum/forum/profile_options.php on line 30
profile_options.php on line 30
-==code==-
getlangage("profile_options");
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/profile_perso.php
Same as the one up there
Calling an undefined function
Fatal error: Call to undefined function: getlangage() in
/home/coolcoyote/coolforum/forum/profile_perso.php on line 30
profile_perso.php on line 30
-==code==-
getlangage("profile_perso");
-==/code==-
[:: ============================================ ::]
Other Bug
http://coolforum.net/forum/profile_pm.php
Same as the one up there
Calling an undefined function
Fatal error: Call to undefined function: getlangage() in
/home/coolcoyote/coolforum/forum/profile_pm.php on line 30
profile_pm.php on line 30
-==code==-
getlangage("profile_pm");
-==/code==-
[:: ============================================ ::]
Other Bug
http://host/forum/readannonce.php
OK this file has lots of bugs minors but you could improve them.
1. There is no such file templates//tpl_error.html
2. Implode functions has bad arguments
3. There is no such file templates//tpl_baspage.htm
Warning: file(templates//tpl_error.html): failed to open stream: No such file
or directory in /home/coolcoyote/coolforum/forum/admin/functions.php on line 157
Warning: implode(): Bad arguments. in
/home/coolcoyote/coolforum/forum/admin/functions.php on line 157
Warning: file(templates//tpl_baspage.html): failed to open stream: No such file
or directory in /home/coolcoyote/coolforum/forum/admin/functions.php on line 157
Warning: implode(): Bad arguments. in
/home/coolcoyote/coolforum/forum/admin/functions.php on line 157
admin/functions.php: 150 - 160
-==code==-
function loadfile($file)
{
global $_SKIN,$_SERVER;
if(ereg("admin/",$_SERVER['REQUEST_URI'])) $prefix="../";
else $prefix="";
$temp =
implode("",file($prefix."templates/".$_SKIN['reptpl']."/tpl_".$file.".html"));
$this->forme($temp);
$this->isloaded[$file] = true;
}
-==/code==-
[:: ============================================ ::]
Other Bug
You cannot access directly to this file:
http://host/forum/admin/functions.php
Fatal error: Class sqlconnect: Cannot inherit from undefined class my_sql in
/home/coolcoyote/coolforum/forum/admin/functions.php on line 34
admin/functions.php:34 - 40
-==code==-
class SQLConnect extends My_SQL
{
function SQLConnect()
{
@mysql_connect($this->host,$this->user,$this->pass) or
die("Impossible de se connecter à la base de données");
@mysql_select_db("$this->bdd") or die("Impossible de se
connecter à la base de données");
}
-==/code==-
- References
--------------------------------------------------------
http://neosecurityteam.net/Advisories/Advisory-11.txt
- Credits
-------------------------------------------------
Discovered by HaCkZaTaN <hck_zatan@xxxxxxxxxxx>
[N]eo [S]ecurity [T]eam [NST]® - http://neosecurityteam.net/
Got Questions? http://neosecurityteam.net/
Irc.InfoGroup.cl #neosecurityteam
- Greets
--------------------------------------------------------
Paisterist
T0wn3r
LINUX
Heap
Nitrous
CrashCool
eL_mEsIaS
Makoki
KingMetal
And my Colombian people
@@@@'''@@@@'@@@@@@@@@'@@@@@@@@@@@
'@@@@@''@@'@@@''''''''@@''@@@''@@
'@@'@@@@@@''@@@@@@@@@'''''@@@
'@@'''@@@@'''''''''@@@''''@@@
@@@@''''@@'@@@@@@@@@@''''@@@@@
*/