═╬簡箪√嗳

 找回密码
 立即注册
搜索
查看: 3040|回复: 0

[分享] Discuz安全补丁的重要通知 Discuz的helper_mobile.php存在跨站漏

[复制链接]
发表于 2016-9-25 11:25 | 显示全部楼层 |阅读模式
漏洞描述
Crossday Discuz! Board(简称 Discuz!)是一款社区论坛软件系统。Discuz! X3.2存在文件包含漏洞,问题出在代码中的函数check_seccode(),该函数在/source/class/helper/helper_seccheck.php中,作用是检查验证码是否正确。在后台的防灌水功能中可以设置验证码类型,对应的变量是$_G['setting']['seccodedata']['type'],该值在进入数据库前未做安全检查。check_seccode()取出该值时也没有检查是否合法,导致漏洞产生。

影响版本
Discuz! Discuz! X3.2

漏洞等级
高危

修复方案
对输入数据库的变量进行安全检测,避免相关漏洞的产生。
漏洞详情如下:
【风险概述】:导致论坛站点用户信息被窃取等风险;
【漏洞描述】:Discuz的helper_mobile.php存在跨站漏洞,攻击者可利用该漏洞窃取论坛站点用户信息。
【影响版本】:全版本
【修复建议】:修改文件:source/class/helper/helper_mobile.php


找到以下两行:
  1. $query_sting_tmp = str_replace(array('&mobile=yes', 'mobile=yes'), array(''), $_SERVER['QUERY_STRING']);
  2. $_G['setting']['mobile']['pageurl'] =$_G['siteurl'].substr($_G['PHP_SELF'], 1).($query_sting_tmp ?'?'.$query_sting_tmp.'&mobile=no' : '?mobile=no' );
复制代码
替换为以下四行:
  1. parse_str($_SERVER['QUERY_STRING'], $query);
  2. $query['mobile'] = 'no';
  3. $query_sting_tmp = http_build_query($query);
  4. $_G['setting']['mobile']['pageurl'] =$_G['siteurl'].substr($_G['PHP_SELF'], 1).$query_sting_tmp;
复制代码
懒人可用我这个直接替换 helper_mobile.zip (1000 Bytes, 下载次数: 734)


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|═╬簡箪√嗳's BBS

GMT+8, 2024-4-20 21:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表