开源之家-免费素材_网站模板_源码下载_站长资源下载站

开源之家

Discuz x3.1任务刷积分漏洞说明和修复方法

2021-06-23 21:00分类:Discuz开发 阅读:

 

复制代码

之后就是获得任务奖励了

总感觉上面这一段少了些什么判断?大家对比下其他代码

复制代码

这一段是放弃任务的判断,大家看到假如 $this-task[status] != 0,就是说任务没开始的时候,是不可以放弃任务的。

但,在上面那段获得任务奖励的代码中,并没判断任务是不是开始,导致了不需要领取任务,就可以无限次数获得奖励。

此漏洞还可以用于强行获得因为用户组不符,没权限领取的任务的奖励。

漏洞详细借助,请见漏洞证明。

漏洞证明:

1、新建一个任务,就选择红包类任务吧

2、此时千万不要申请任务,而是进入任务详细页面(完成之后就不可以刷了)

home.php?mod=taskdo=viewid=2

如此就能看到任务详细情况了,任务的奖励是 威望+1。

大家把地址改为领取任务奖励

home.php?mod=taskdo=drawid=2

打开这个地址,获得了 威望+1。

不断刷新这个页面,即可不断获得奖励。

复制代码

如此,第三用漏洞时,就会提示:不是进行中的任务

即加上

......

elseif {

showmessage;

}

约第370行:

function draw {

global $_G;

if-fetch_by_uid)) {

showmessage;

} elseif {

showmessage;

} elseif {

return -1;

}

......

约第473行:

function giveup {

global $_G;

if {

showmessage;

} elseif-fetch_by_uid)) {

showmessage;

} elseif {

showmessage;

}

完成任务的链接形如:home.h3hh3?mod=drawdo=viewid=xx

这个地址最后在 source\class\class_task.php 中被处置

这个是4月份之前的漏洞的,不知晓新版本有没修复这个问题,但最新一个VIP会员反馈遇见刷积分的问题,可能是QQ互联绑定刷积分致使的,所以这里就把乌云上面的discuz x3.1任务刷积分漏洞的办法拿过来跟大伙推荐下。

在完成任务时(home.php?mod=drawdo=viewid=xx),任务先前的状况缺少判断

修复策略:

在 source\class\class_task.php 中的 draw 函数部分,加入任务是不是领取的判断

郑重声明:文章来源于网络,仅作为参考,如果网站中图片和文字侵犯了您的版权,请联系我们处理!

上一篇:没有了

下一篇:没有了

相关推荐


关注我们

    开源之家-免费素材_网站模板_源码下载_站长资源下载站
返回顶部