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

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

缺陷编号:wooyun-2014-079684

漏洞标题:Discuz! 微信公众平台插件补丁绕过 越权删除数据库

相关厂商:Discuz!

漏洞作者: menmen519

提交时间:2014-10-17 10:53

修复时间:2015-01-15 10:54

公开时间:2015-01-15 10:54

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

Discuz! 微信公众平台插件补丁绕过 越权删除数据库,完全可以绕过百度云waf

详细说明:

上一个漏洞发表的是getshell,结果插件响应迅速啊,今天就打了补丁,不得不说dz很给力
那么真的修复干净了吗:
再看代码:

if (!strpos($_GET['mod'],'/') && !strpos($_GET['mod'],'\\') && !strpos($_GET['ac'],'/') && !strpos($_GET['ac'],'\\')) {
include DISCUZ_ROOT.'./source/plugin/hux_wx/mod/'.$_GET['mod'].'/'.$_GET['ac'].'.php';
}


这是它修补后的代码,过滤了反斜杠和正斜杠
1.$_GET['mod']='..' 绕过
2.$_GET['ac'] = "uninstall"; 绕过
这句话的翻译最终的结果就是执行了hux_wx/uninstall.php
我们再看看这个文件

<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$sql = <<<EOF
DROP TABLE IF EXISTS pre_hux_wx;
DROP TABLE IF EXISTS pre_hux_wx_action;
DROP TABLE IF EXISTS pre_hux_wx_config;
DROP TABLE IF EXISTS pre_hux_wx_userjp;
EOF;
runquery($sql);
$finish = TRUE;
?>


看到了吗 只是if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
这里明显就是任何用户可访问
ok代码分析到此完毕,演示就不用做了,要不直接上插件中心主页试试,这个完全可以绕过百度云waf,哈哈

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-10-21 09:20

厂商回复:

感谢,感谢。我们尽快通知插件作者修改。

最新状态:

暂无