国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

Discuz x3.1任務刷積分漏洞說明和修復方法

2024-09-11 09:06:22
字體:
來源:轉載
供稿:網友
這個是4月份之前的漏洞的,不知道新版本有沒有修復這個問題,但最新一個VIP會員反饋遇到刷積分的問題,可能是QQ互聯綁定刷積分導致的,所以這里就把烏云上面的discuz x3.1任務刷積分漏洞的方法拿過來跟大家分享下。   在完成任務時(home.php?mod=draw&do=view&id=xx),任務先前的狀態缺少判斷 完成任務的鏈接形如:home.php?mod=draw&do=view&id=xx 這個地址最終在 source/class/class_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。   不斷刷新這個頁面,即可不斷獲得獎勵。   修復方案:   在 source/class/class_task.php 中的 draw 函數部分,加入任務是否領取的判斷 即加上 ......   elseif($this->task['status'] != '0') {           showmessage('task_not_underway');   } 復制代碼   這樣,再次使用漏洞時,就會提示:不是進行中的任務
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长白| 绥江县| 长白| 华安县| 湘阴县| 黎城县| 龙里县| 富阳市| 山东省| 保山市| 平舆县| 高州市| 县级市| 东宁县| 贺兰县| 久治县| 墨玉县| 阳谷县| 阿巴嘎旗| 阳曲县| 湟源县| 咸丰县| 邳州市| 水富县| 都兰县| 论坛| 专栏| 涿鹿县| 故城县| 寻乌县| 襄城县| 静海县| 剑河县| 会泽县| 临沂市| 裕民县| 博湖县| 大同县| 馆陶县| 青浦区| 大同县|