漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-053771
漏洞标题:Discuz! X2.5 / X3 / X3.1中CSRF攻击防御可被绕过
相关厂商:Discuz!
漏洞作者: kookxiang
提交时间:2014-03-16 11:32
修复时间:2014-06-14 11:32
公开时间:2014-06-14 11:32
漏洞类型:CSRF
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-03-16: 细节已通知厂商并且等待厂商处理中
2014-03-17: 厂商已经确认,细节仅向厂商公开
2014-03-20: 细节向第三方安全合作伙伴开放
2014-05-11: 细节向核心白帽子及相关领域专家公开
2014-05-21: 细节向普通白帽子公开
2014-05-31: 细节向实习白帽子公开
2014-06-14: 细节向公众公开
简要描述:
写插件的时候偶然发现的...可绕过Discuz自带的CSRF攻击
详细说明:
discuz在判断表单时用这个函数:
其中第二个参数本来应该是是否允许GET请求的选项。
在X2.5 / X3 / X3.1中,第二个参数为true时竟然不判断formhash直接return true了……
使用批量搜索工具搜索discuz源代码里的submitcheck(*, *)……然后发现官方也用了这种写法,尿了尿了
另外表示X2和之前的都没看过,不确定是否有问题。 我本地的X2.5 X3 X3.1这个文件基本都一样……
漏洞证明:
source/class/helper/helper_form.php
Line 22
当$allowget = TRUE时,后面整个括号就可以无视了
修复方案:
最简单的办法,修改下这个判断语句的逻辑吧
版权声明:转载请注明来源 kookxiang@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:1
确认时间:2014-03-17 16:48
厂商回复:
allowget这个参数是用户无法控制的,只有当程序员认为这个功能不需要post方式提交和formhash校验的时候,才会使用allowget这个参数。
最新状态:
暂无