记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Discuz! X3.1 刷分系列漏洞之2

2014-04-24 14:35

在使用“千斤顶”道具时,使用的数量缺少负值判断



上面的一句话已经很清晰地说明问题了,所以这里就不分析的很详细了



使用“千斤顶”道具时,会调用以下文件:

source\class\magic\magic_jack.php



在该文件的57行开始,是使用道具的部分:

function usesubmit() {

...

$magicnum = intval($_GET['magicnum']);

...

}





其中的$magicnum就是在使用道具时,填写的使用数量。

填入正数时,会正常消耗相应数量的“千斤顶”道具。

但由于这个变量未进行负值判断,造成填入负数时,可以直接获得大量“千斤顶”道具。



具体重现步骤,在漏洞说明中详述。

漏洞证明:

1、购买一个千斤顶道具

2、打开任意帖子,在右下角选择“千斤顶”道具,提示:

本次使用数量:





3、填入一个负数,如-100,点击使用,提示:

千斤顶成功将主题顶起





4、查看道具数量,现在有101个千斤顶

之后将这些道具卖掉即可刷取积分

修复方案:

打开 source\class\magic\magic_jack.php

查找(约在第67行):

if(empty($magicnum) || $magicnum > $this->magic['num']) {





替换为

if(empty($magicnum) || $magicnum <= 0 || $magicnum > $this->magic['num']) {



这样,使用道具填入负数时,就会提示

道具数量不足或没有填写使用数量。



知识来源: www.wooyun.org/bugs/wooyun-2014-049703

阅读:165385 | 评论:0 | 标签:漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“Discuz! X3.1 刷分系列漏洞之2”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云