您好!欢迎来到大秦朝旭拼单网官方站

大秦朝旭拼单网官方站

热门搜索: 友价    店铺转让    智企    知识产权    新媒   

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

  • 二开教程
  • 来源:转载
  • 编辑:拼单网
  • 时间:2023-11-22 12:38
  • 阅读:816

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

 

在完成任务时(home.php?mod=draw&do=view&id=xx),任务先前的状态缺少判断

完成任务的链接形如:home.php?mod=draw&do=view&id=xx

这个地址最终在 sourceclassclass_task.php 中被处理

 

约第370行:

function draw($id) {

 

        global $_G;

 

        if(!($this->task = C::t('common_task')->fetch_by_uid($_G['uid'], $id))) {

 

                showmessage('task_nonexistence');

 

        } elseif($this->task['status'] != 0) {

 

               广告买卖 showmessage('task_not_underway');

 

        } elseif($this->task['tasklimits'] && $this->task['achievers'] >= $this->task['tasklimits']) {

 

                return -1;

 

        }

 

......

复制代码

 

之后就是获得任务奖励了

总觉得上面这一段少了些什么判断?我们对比下其他代码

 

约第473行:

function giveup($id) {

 

        global $_G;

 

        if($_GET['formhash'] != FORMHASH) {

 

                showmessage('undefined_action');

 

        } elseif(!($this->task = C::t('common_task')->fetch_by_uid($_G['uid'], $id))) {

 

                showmessage('task_nonexistence');

 

        } elseif($this->task['status'] != '0') {

 

                showmessage('task_not_underway');

 

        }

复制代码

 

这一段是放弃任务的判断,我们看到如果 $this->task['status'] != '0',就是说任务没有开始的时候,是不能放弃任务的。

 

但是,在上面那段获取任务奖励的代码中,并没有判断任务是否开始,造成了无需领取任务,就可以无限次数获取奖励。

 

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

 

漏洞详细利用,请见漏洞证明。

 

漏洞证明:

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

 

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

home.php?mod=task&do=view&id=2

这样就能看到任务详情了,任务的奖励是 威望+1。

我们把地址改为领取任务奖励

home.php?mod=task&do=draw&id=2

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

 

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

 

修复方案:

 

在 sourceclassclass_task.php 中的 draw 函数部分,加入任务是否领取的判断

即加上

......

 

elseif($this->task['status'] != '0') {

 

        showmessage('task_not_underway');

 

}

复制代码

 

这样,再次使用漏洞时,就会提示:不是进行中的任务

全部评论(0)
资讯详情页最新发布上方横幅
推荐阅读
  • VMware虚拟机安装Windows11详细教程【附安装包】
  • VMware虚拟机安装Windows11详细教程【附安装包】
  • VMware虚拟机是一种通过软件模拟物理计算机硬件环境的计算资源,允许在一台物理计算机上同时运行多个操作系统和应用程序。‌每个虚拟机都运行自己的操作系统,并且彼此完全独立,即使它们都在同一台主机上运行。‌一、镜像下载:Windows11x64最新版(包含专业版、家庭版、教育版,安装Windows11的时候可以自行选择系统版本)下载链接:点击下载二、配置虚拟机1.点击创建新的虚拟机2.选择典型,然后点击下一步3.选择稍后安装操作系统4
  • SEO相关
  • 来源:转载
  • 编辑:拼单网
  • 时间:2026-03-01 23:40
  • 阅读:139
  • 友价源码分词搜索技术如何实现
  • 友价源码分词搜索技术如何实现
  • 联系客服安装分词插件后,再申请一个APIKEY(目前该接口是免费的)https://www.showapi.com/apiGateway/view/2691、将客服提供的插件文件,放在你的后台目录下2、进入后台,点击广告互动,有个其他广告点下,找到插件入口,添加3、路径写chajian_fenci.php名称随便写(如分词)4、再点击上面的插件专区,将你的APIKEY填入即可
  • 友价教程
  • 来源:转载
  • 编辑:拼单网
  • 时间:2025-06-30 03:06
  • 阅读:468
  • 友价源码如何集成阿里云OSS功能
  • 友价源码如何集成阿里云OSS功能
  • 前言:阿里云OSS是指把数据存在阿里云上面的一个空间体系,举个例子,开通这个OSS功能后,你可以把商品的一些数据包放在这上面,而不是存在自己的空间或服务器,这样用户在下载时,就不会占用你服务器的带宽。【附:PHP版本必须为5.3或以上,如果你的平台能用阿里通信发短信了,就说明已经是5.3或以上】1、登录阿里云,www.aliyun.com,进入控制台,点击左侧的对象存储OSS,如果没有,请看第二步2、如果能看到第一步红框里的链接,请跳过
  • 友价教程
  • 来源:转载
  • 编辑:拼单网
  • 时间:2025-06-30 02:54
  • 阅读:564
  • 友价源码使用腾讯云OSS时,报错解决方法
  • 友价源码使用腾讯云OSS时,报错解决方法
  • 请先下载腾讯云的PHPSDK包,然后在你的config目录下,新建一个文件夹,名称为tencentoss,再把下载的压缩包解压进去。(联系客服获取腾讯OSS压缩包)报错1:“Fatalerror:Composerdetectedissuesinyourplatform:YourComposerdependenciesrequireaPHPversion">=7.2.5".
  • 环境配置
  • 来源:转载
  • 编辑:拼单网
  • 时间:2025-06-30 02:50
  • 阅读:527
联系我们
Q Q:1005618718
电话:17792038992
邮箱:1005618718@qq.com
时间:09:00 - 19:00
平台客服