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

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

缺陷编号:wooyun-2014-086840

漏洞标题:php云越权关注

相关厂商:php云人才系统

漏洞作者: Ader_duo

提交时间:2014-12-12 15:42

修复时间:2015-03-12 15:44

公开时间:2015-03-12 15:44

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

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-12: 细节已通知厂商并且等待厂商处理中
2014-12-16: 厂商已经确认,细节仅向厂商公开
2014-12-19: 细节向第三方安全合作伙伴开放
2015-02-09: 细节向核心白帽子及相关领域专家公开
2015-02-19: 细节向普通白帽子公开
2015-03-01: 细节向实习白帽子公开
2015-03-12: 细节向公众公开

简要描述:

版本v3.1 9.23
1.关注,可以让招聘者关注你,或者求职者关注你
2.关注问题。你发表问题可以让大家关注
其中uid是注册的时候自增的值

详细说明:

1.代码位置 upload/model/ajax.class.php function Atn_action()

function Atn_action()
{
$id=(int)$_POST['id'];
if((int)$_POST['id']>0){
if($this->uid>0){
if($_POST['id']==$this->uid){
echo 4;die;
}
$atninfo = $this->obj->DB_select_once("atn","`uid`='".$this->uid."' AND `sc_uid`='".$id."'");//查询是不是关注过了
$user=$this->obj->DB_select_once("member","`uid`='".$id."'","`usertype`");//查询想关注别人的你的信息
if($user['usertype']=="1")//确定求职者身份
{
$table="resume";
}elseif($user['usertype']=="2"){//招聘者身份
$table="company";
}
$comurl = $this->furl(array("url"=>"c:profile,id:".$id));
$row=$this->obj->DB_select_once("friend_info","`uid`='".$id."'");
$name = $row['nickname'];
if(is_array($atninfo)&&!empty($atninfo))//判断关注过就会取消关注
{
::
}else{//否则关注
::
}
}else{
echo "3";die;
}


只需id,uid为大于0的值
2.代码位置 upload/ask/model/index.class.php
function attention_action()
{
$this->is_login();//判断登录
$is_set=$this->obj->DB_select_once("attention","`uid`='".$this->uid."' and `type`='".(int)$_POST['type']."'");
if($_POST['type']=='1')
{
$info=$this->obj->DB_select_once("question","`id`='".(int)$_POST['id']."'","`id`,`title`,`uid`");
$gourl= $this->aurl(array("url"=>"c:content,id:".$info['id']));
$content="关注了<a href=\"".$gourl."\" target=\"_blank\">《".$info['title']."》</a>。";//关注别人
$n_contemt="取消了对<a href=\"".$gourl."\" target=\"_blank\">《".$info['title']."》</a>的关注。";//取消关注别人
}else{
$info=$this->obj->DB_select_once("q_class","`id`='".$_POST['id']."'","`id`,`name`");
$gourl= $this->aurl(array("url"=>"c:getclass,id:".$info['id']));
$content="关注了<a href=\"".$gourl."\" target=\"_blank\">".$info['name']."</a>。";//关注互联网
$n_contemt="取消了<a href=\"".$gourl."\" target=\"_blank\">".$info['name']."</a>的关注。";//取消关注互联网
}
看登录这里
function is_login()
{
if($this->uid==""||$_COOKIE['username']=='')
{
echo 'no_login';die;
}
}
只判断是否为空
只需有type=1或2,id、uid、username有值

漏洞证明:

1.登录查看此时33未关注11

9.jpg


构造post包。Replay

7.jpg


登录查看33关注了11

11.jpg


再次发包33取消关注11

13.jpg


2.
1》type=1
登录未关注问题

31.jpg


构造包 发包

37.jpg


已关注

33.jpg


2》type=2

34.jpg


type=2 不登录发包

36.jpg


查看

35.jpg


修复方案:

验证登录

版权声明:转载请注明来源 Ader_duo@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-12-16 17:26

厂商回复:

感谢您的提供,相关问题我们已经修复 近期会及时更新补丁!

最新状态:

暂无


漏洞评价:

评论