文章目录
前言
漏洞简介
漏洞编号:CVE-2018-10297
漏洞名称:Discuz!跨站脚本攻击
漏洞描述:Discuz! <= X3.4版本存在存储型跨站脚本漏洞,允许远程攻击者注入恶意脚本或HTML代码,从而获取敏感信息或劫持用户会话。
危险等级:中级
提示:以下是本篇文章正文内容,下面案例仅供参考
一、漏洞产生过程
1.漏洞生成点
漏洞在于DZ自带的编辑器,该编辑器在门户发布、修改文章,论坛发布、回复帖子均有使用,导致漏洞影响范围广泛。
portal.php
require './source/class/class_core.php';
$discuz = C::app();
$cachelist = array('portalcategory', 'diytemplatenameportal'); $discuz->cachelist = $cachelist; $discuz->init();
require DISCUZ_ROOT.'./source/function/function_home.php';
require DISCUZ_ROOT.'./source/function/function_portal.php';
if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';
define('CURMODULE', $_GET['mod']);
runhooks();
$navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['portal']); $_G['disabledwidthauto'] = 1;
require_once libfile('portal/'.$_GET['mod'], 'module'); #漏洞存在位置
2.跟进portal_portalcp.php
if (!$_G['inajax'] && in_array($ac, array('index', 'portalblock', 'blockdata', 'category', 'plugin')