# Exploit Title: 6kbbs Multiple Vulnerabilities
# Google Dork: Powered by 6kbbs V8.0
# Date: 2011/10/5
# Author: insight-labs
# Software Link: http://www.6kbbs.net/
# Version: 6KBBS v8.0 build 20101201
# Tested on: linux+apache
1.Cross-site request forgery (getshell)
vulnerable file: /admin/user_ajax.php
detail:
case "savegroups2":
try
{
$groups = $_POST['groups'];
if(is_array($groups))
{
foreach($groups as $group)
{
$db->row_update("groups", $group, "id={$group['id']}");
}
}
$rows = $db->row_select("groups", "", 0,
"groupid,groupname,popedom,starnum", "groupid");
$groups = array();
foreach($rows as $row)
{
$groups["{$row['groupid']}"] = $row;
}
writeGroupsCache();
succeedFlag();
}
catch(Exception $e)
{
echo($e);
}
break;
Update the information, by writeGroupCache () function to update the
information written to \cache\groups.php them, direct access to the
\cache\groups.php you can get shell.
2.Cross-site request forgery (getshell)
vulnerable file: /admin/portalchannel_ajax.php
detail:
case "saverule":
try
{
$id = trim(strFilter($_POST['id']));
$code = stripslashes($_POST['code']);
writeFile("collectrules/{$id}.php", $code);
succeedRes();
}
catch(Exception $e)
{
echo($e);
}
break;
Directly to the id as a php file name, code is written as the contents of
the file /admin/collectrules/ folder them.
And receive data at the time, did not verify Referer and Token, you can take
advantage of CSRF.
3.Information Leakage
vulnerable file:/admin/portalcollect.php
/getfiles.php?f=http://xxx&t=js
4.Cross Site Scripting Vulnerabilities
detail: many file directly use $_SERVER['PHP_SELF'] and not sanitize so
cause xss Vulnerabilities
credits.php/"><script>alert(1)</script>
forum.php/"><script>alert(1)</script>
index.php/"><script>alert(1)</script>
login.php/"><script>alert(1)</script>
online.php/"><script>alert(1)</script>