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

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

缺陷编号:wooyun-2014-048792

漏洞标题:PinPHP 某处越权访问

相关厂商:PinPHP

漏洞作者: xfkxfk

提交时间:2014-01-14 11:40

修复时间:2014-04-14 11:42

公开时间:2014-04-14 11:42

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

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

PinPHP 某处越权访问,及代码分析。

详细说明:

PinPHP在访问用户地址时,存在平衡权限,可查看任意用户信息。
文件app/lib/action/home/useraction.class.php:

/**
* 收货地址
*/
public function address() {
$user_address_mod = M('user_address');
$id = $this->_get('id', 'intval');
$type = $this->_get('type', 'trim', 'edit');
if ($id) {
if ($type == 'del') {
$user_address_mod->where(array('id'=>$id, 'uid'=>$this->visitor->info['id']))->delete();
$msg = array('status'=>1, 'info'=>L('delete_success'));
$this->assign('msg', $msg);
} else {
$info = $user_address_mod->find($id);//直接查询后显示
$this->assign('info', $info);
}
}


从上述代码可以看出,在处理收货地址时,判断地址ID存在,并且type不是del
然后就会根据地址ID显示出该ID对应的地址信息。

漏洞证明:

先来看看用户222222的收货地址ID为7:

1.png


然后我们登录111111用户的,可以查看用户的222222ID为7的地址:

2.png


遍历ID就可以收集到所有用户的收获地址详情。

修复方案:

判断用户属性。

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


漏洞回应

厂商回应:

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