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

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

缺陷编号:wooyun-2014-066093

漏洞标题:Tipask问答系统可代替提问者指定最佳答案(刷财富)

相关厂商:Tipask

漏洞作者: 飞黎

提交时间:2014-06-24 18:53

修复时间:2014-09-22 18:54

公开时间:2014-09-22 18:54

漏洞类型:非授权访问/权限绕过

危害等级:高

自评Rank:15

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-24: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-09-22: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

Tipask问答系统逻辑上和百度知道一样,提问者可以选择最佳答案,然后系统会给最佳答案回答者相应的悬赏,此漏洞可以代替提问者把自己选为最佳答案,奖励就会发到自己这里,达到刷财富的目的,随意选择最佳答案也有误导用户的可能性,从刷财富上讲,危害还算是很大的

详细说明:

比如这个问题:
http://help.tipask.com/q-19646.html
这个有15+2的悬赏财富
随便回答一个:

QQ截图20140616183213.png


然后点继续回答,截取url如下:
http://help.tipask.com/answer/append/19646/3962.html
更改url,改成:
http://help.tipask.com/question/adopt/?qid=19646&aid=3962
(对应的问题id和回答id要再三确认,出错了仍然显示成功,当初在这个地方闹心了半天...)
访问之

QQ截图20140621123724.png


返回重刷新:

QQ截图20140621123811.png


搞定!

漏洞证明:

查看自己的回答记录可以看到确实已采纳了:

QQ截图20140621123916.png

修复方案:

(以下使用最新版源码)
问题出在:
control/question.php
line 246:

function onadopt() {
$qid = intval($this->post['qid']);
$aid = intval($this->post['aid']);
$comment = $this->post['content'];
$question = $_ENV['question']->get($qid);
$answer = $_ENV['answer']->get($aid);
$ret = $_ENV['answer']->adopt($qid, $answer);
if ($ret) {
$this->load("answer_comment");
$_ENV['answer_comment']->add($aid, $comment, $question['authorid'], $question['author']);
$this->credit($answer['authorid'], $this->setting['credit1_adopt'], intval($question['price'] + $this->setting['credit2_adopt']), 0, 'adopt');
$this->send($answer['authorid'], $question['id'], 1);
$viewurl = urlmap('question/view/' . $qid, 2);
$_ENV['doing']->add($question['authorid'], $question['author'], 8, $qid, $comment, $answer['id'], $answer['authorid'], $answer['content']);
}
$this->message('采纳答案成功!', $viewurl);
}


全程未加验证,在255行执行了回答锁定,256行对用户积分进行了更新(达到了目的)
修复方法:在249行加验证,判断当前操作用户是否是提问者自己
P.S.:这个漏洞报告写了五天,苦逼初三党用极少的上网时间凑起来写的,求过....

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝